pythonカスタム異常と異常キャプチャの方法
異常キャプチャ:
2.ライセ後のステートメントは実行されません。異常が発生したため、制御フローが異常捕捉モジュールにジャンプします。
3.except文は一つのexceptの後に複数の異常を持ってもいいし、複数の語句で複数の異常を捉えて、それぞれ違った処理をしてもいいです。
4.except文でキャプチャされた異常が発生していない場合、except内のステートメントブロックは実行されません。elseの文を実行します。
5.上記の文ではtry/except/else/finallyの順序はtryC>except XC>exceptC>finallyでなければなりません。つまり、すべてのexceptはelseとfinallyの前に、else(もしあれば)はfinallyの前に、except Xはexceptの前にしなければなりません。文法エラーが発生します。
6.elseとfinallyはいずれもオプションです。
7.上記の完全な文の中で、else文の存在はexcept Xまたはexcept文を前提としなければならない。except文がないtry blockでelse文を使うと、文法エラーが発生する。
異常パラメータ出力:
ですから、トライセProcion Exceptionなら、二つの異常類で捕獲できます。
しかし、トライセDatabaseExceptionであれば、Preconditons Exceptionでは捉えられません。
以上のpythonカスタム異常と異常キャプチャの方法は、小編集が皆さんに提供した内容を全部共有しています。参考にしていただければと思います。よろしくお願いします。
try:
XXXXX1
raise Exception(“xxxxx2”)
except (Exception1,Exception2,……):
xxxx3
else:
xxxxx4
finally:
xxxxxxx5
1.rase文は上記のようにエラーメッセージをカスタマイズできます。2.ライセ後のステートメントは実行されません。異常が発生したため、制御フローが異常捕捉モジュールにジャンプします。
3.except文は一つのexceptの後に複数の異常を持ってもいいし、複数の語句で複数の異常を捉えて、それぞれ違った処理をしてもいいです。
4.except文でキャプチャされた異常が発生していない場合、except内のステートメントブロックは実行されません。elseの文を実行します。
5.上記の文ではtry/except/else/finallyの順序はtryC>except XC>exceptC>finallyでなければなりません。つまり、すべてのexceptはelseとfinallyの前に、else(もしあれば)はfinallyの前に、except Xはexceptの前にしなければなりません。文法エラーが発生します。
6.elseとfinallyはいずれもオプションです。
7.上記の完全な文の中で、else文の存在はexcept Xまたはexcept文を前提としなければならない。except文がないtry blockでelse文を使うと、文法エラーが発生する。
異常パラメータ出力:
try:
testRaise()
except PreconditionsException as e: #python3 , as
print (e)
カスタム異常は、親タイプのExceptionをカスタマイズするだけです。カスタム異常クラスでは、親タイプinitメソッドを書き換えます。
class DatabaseException(Exception):
def __init__(self,err=' '):
Exception.__init__(self,err)
class PreconditionsException(DatabaseException):
def __init__(self,err='PreconditionsErr'):
DatabaseException.__init__(self,err)
def testRaise():
raise PreconditionsException()
try:
testRaise()
except PreconditionsException as e:
print (e)
注意:Preconditons ExceptionはまたDatabaseExceptionのサブクラスです。ですから、トライセProcion Exceptionなら、二つの異常類で捕獲できます。
しかし、トライセDatabaseExceptionであれば、Preconditons Exceptionでは捉えられません。
以上のpythonカスタム異常と異常キャプチャの方法は、小編集が皆さんに提供した内容を全部共有しています。参考にしていただければと思います。よろしくお願いします。