exceptで指定の例外のみを処理する方法
exceptブロックで特定の例外を処理するためには、例外のクラスを指定します。以下の方法で特定の例外を捕捉し、それに対するエラーハンドリングを行います。
例えば、ZeroDivisionError例外のみを捕捉して処理する場合を考えてみましょう:
python
try: result = 10 / 0 except ZeroDivisionError: print("ゼロで割ることはできません")
この場合、ZeroDivisionErrorが発生したときのみ、その例外が捕捉されてエラーハンドリングが実行されます。他の例外に対しては何も行われません。
複数の異なる例外に対する異なるエラーハンドリングを行うには、exceptブロックを複数使ってそれぞれの例外を指定します:
python
try: result = 10 / 0 except ZeroDivisionError: print("ゼロで割ることはできません") except ValueError: print("無効な値です")
上記の例では、ZeroDivisionErrorとValueErrorの2つの異なる例外に対して異なるエラーハンドリングが行われます。
また、ある例外の基底クラス(Exceptionクラス)を指定することで、複数の例外を一つのexceptブロックで処理することもできます。たとえば、次のようにします:
python
try: result = int("abc") # 有効でない整数文字列をint関数で変換 except (ValueError, TypeError): print("無効な値または型エラーが発生しました")
この例では、ValueErrorとTypeErrorの両方に対するエラーハンドリングが一つのexceptブロックで行われています。

ディスカッション
コメント一覧
まだ、コメントがありません