Pythonの例外処理にはどのような方法がありますか
Pythonでは例外を捕捉するための以下のような方法があります。
- try-except文:Exceptionが発生しそうなコードをtryブロックで実行し、例外が発生した場合、対応するexceptブロックを実行する。
try:
# 可能会出现异常的代码
except ExceptionType:
# 异常处理代码
- try-except-else構文:try-except構文と同様だが、例外が発生しなかった場合にelse文ブロックを実行できる。
try:
# 可能会出现异常的代码
except ExceptionType:
# 异常处理代码
else:
# 没有发生异常时执行的代码
- 例外処理におけるtry-except-finally文: try-except文と同様ですが、例外発生の有無に関わらずfinally文ブロックが必ず実行されます。
try:
# 可能会出现异常的代码
except ExceptionType:
# 异常处理代码
finally:
# 不论发生异常与否都会执行的代码
- try-except-else-finally文は、try-except-elseとtry-except-finallyの機能を組み合わせたもので、例外が発生しなかった場合にelse文を実行し、例外の発生に関わらずにfinally文を実行します。
try:
# 可能会出现异常的代码
except ExceptionType:
# 异常处理代码
else:
# 没有发生异常时执行的代码
finally:
# 不论发生异常与否都会执行的代码
また、複数のexcept文を使用して異なる種類の例外を捕捉し、適切な処理を行うこともできます。
try:
# 可能会出现异常的代码
except ExceptionType1:
# 处理ExceptionType1类型的异常
except ExceptionType2:
# 处理ExceptionType2类型的异常
except:
# 处理其他类型的异常
例外をキャッチする際には、具体的な例外タイプを指定することも、例外タイプを省略してあらゆる種類の例外をキャッチすることもできます。ただし、例外をより正確に処理するために、可能な限り具体的な例外タイプを指定することをお勧めします。