Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのexcept句で複数の例外を扱う方法をわかりやすく解説

Pythonのexcept句で複数の例外を指定する方法

Pythonでは、1つのexcept句に複数の例外をまとめて定義することができます。これは、Pythonインタープリタがタプル内のいずれかの例外に一致した場合、そのexceptブロックに書かれたコードを実行することを意味します。

基本構文

複数の例外を指定する場合の一般的な構文は次のとおりです。

except (Exception1, Exception2, ..., ExceptionN) as e:

このように記述すると、同じコードブロックから異なる種類の例外が発生する可能性がある場合でも、それぞれのケースに応じた処理を1つのブロックで行えます。

サンプルコード

import sys

try:
    d = 8
    d = d + '5'
except (TypeError, SyntaxError) as e:
    print(sys.exc_info())

この例では、整数型の変数dに文字列'5'を加算しようとしているため、TypeErrorが発生します。この例外はexcept句で指定されたタプルに含まれているため、例外処理ブロックが実行されます。

実行結果

(<class 'TypeError'>, TypeError("unsupported operand type(s) for +: 'int' and 'str'"), <traceback object at 0x0000000002954748>)

sys.exc_info()は、現在処理中の例外に関する情報(例外クラス、例外インスタンス、トレースバックオブジェクト)をタプル形式で返します。デバッグ時やログ出力時に役立ちます。

押さえておきたいポイント

  • 複数の例外を指定する際は、必ず括弧 () で囲んでタプルにしましょう。except TypeError, SyntaxError: のような記述はPython 3では構文エラーになります。
  • 例外ごとに異なる処理を行いたい場合は、except句を複数並べて個別に記述するのが一般的です。
  • 例外オブジェクト自体を利用したい場合は、as e で受け取った変数(例:e)を使うと、エラーメッセージの表示や条件分岐に活用できます。
  1. TkinterでネイティブなGUIルックを実現するには?ttkによるテーマ適用の方法

    TkinterでGUIアプリケーションを開発すると、デフォルトではすべてのウィジェットに標準のスタイルとテーマが適用されます。アプリケーション全体の見た目を変更したい場合は、ttkパッケージを活用しましょう。Tkinterのttkは「テーマ対応ウィジェット」と呼ばれる仕組みで、tkinterのウィジェットに統一感のあるスタイルを適用するために使用されます。これにより、OSに合わせたネイティブなGUIルックを実現できます。テーマ対応ウィジェットには多くの組み込み関数や機能が用意されており、アプリケーションの中で柔軟に活用することが可能です。ttkは、HTMLページにおけるCSSと同じような役割を

  2. Pythonで1行(ブロックを除く)で複数の例外をキャッチする方法

    Pythonでは、1つのexceptブロックで複数の例外をまとめてキャッチすることができます。これにより、コードの重複を避け、エラーハンドリングをすっきりと記述できます。 複数の例外をキャッチする基本構文 except句には、複数の例外を括弧で囲んだタプルとして指定できます。以下のように記述します。 try: raise_certain_errors() except (CertainError1, CertainError2, ...) as e: handle_error() 「as」キーワードについて かつてPython 2.6や2.7では、例外と変数をカンマで区切っ