Python で try ... else ブロックを使用する

Najwa Riyaz 2023年10月12日
  1. Python で else 句のない try...except ブロックを使用する
  2. Python の else 句で try...except ブロックを使用する
Python で try ... else ブロックを使用する

この記事では、elsetry...except ペアと一緒に使用する方法について説明します。ペアをプログラムに組み込むためのガイドとして使用するいくつかの方法が含まれています。

try:
    <a code block >
except:
    <a code block >
else:
    <a code block. Note: 'else' clause is optional>

except 句は、>=1 例外ハンドラを指定するために使用されます。この句に関連付けられたコードブロックは、try ブロックで例外がスローされた場合に実行されるため、エラーが処理されます。

else 句はオプションです。すべての except 句の後に配置されます。この句に関連付けられたコードブロックは、try ブロックで例外がスローされない場合にのみ実行されます。

else ステートメントがある場合とない場合の例を試してみましょう。

Python で else 句のない try...except ブロックを使用する

これは、else 句なしで try...except を使用する方法を示すサンプルコードです。

try:
    print("From the 'try' statement block - ", var1)
except:
    print("Except block - An exception occurred")

ここで、var1try ブロックで定義されておらず、次のようになります。

  • try ブロックで例外が発生します。
  • try ブロックにある print ステートメントは出力されません。
  • except コードブロックが実行されます。

出力:

Except block - An exception occurred

Python の else 句で try...except ブロックを使用する

ここで、サンプルコードは、else 句で try...except を使用する方法を示しています。

try:
    var = 3
    print("From the 'try' statement block - ", var)
except NameError:
    print("Except block with 'NameError'-Variable `var` is not defined")
except:
    print("Except block -Some other exception")
else:
    print("From the 'else' clause block - ", var)

ここで、vartry ブロックで定義されているため、次のようになります。

  • try ブロックで例外は発生しません。
  • try ブロックにある print ステートメントが出力されます。
  • except コードブロックは実行されません。
  • else コードブロックが実行されます。
  • else ブロックにある print ステートメントが出力されます。

出力:

From the 'try' statement block -  3
From the 'else' clause block -  3

関連記事 - Python Exception