Pythonで例外を発生させ、キャッチする方法は何ですか。
Pythonでは、例外を発生させるにはraiseキーワードを使用して、組み込みの例外クラスまたはカスタムの例外クラスを発生させることができます。例:
# 抛出内置异常类
raise ValueError("Invalid value")
# 抛出自定义异常类
class MyException(Exception):
pass
raise MyException("Custom exception")
例外を捕捉するためのPythonの方法は、try-exceptステートメントブロックを使用することです。tryステートメントブロックに例外を起こす可能性のあるコードを配置し、exceptステートメントブロックを使用して指定されたタイプの例外を捕捉し、例外状況に対処します。例えば:
try:
# 可能抛出异常的代码
result = 10 / 0
except ZeroDivisionError:
# 捕获指定类型的异常并处理
print("除数不能为0")
複数のexcept文で異なるタイプの例外をキャッチし、個別に処理できます。また、else文では例外が発生しなかった場合を処理したり、finally文では例外の有無に関わらず必ず実行されるコードを記述したりできます。
try:
result = 10 / 0
except ZeroDivisionError:
print("除数不能为0")
except ValueError:
print("无效的值")
else:
print("没有发生异常")
finally:
print("无论是否发生异常都执行")