Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Python3.x】EOFError::__context__定数の使い方

__context__定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

__context__定数は、Pythonの例外オブジェクトが持つ特別な属性の一つです。この属性は、ある例外が発生した際に、その例外が処理されている文脈で、その前に起きていた別の例外を保持します。これは、例外が連鎖的に発生する「例外チェーン」と呼ばれる仕組みの一部です。

例えば、EOFError(input()関数などでファイルの終端に到達した際に発生するエラー)が起きたとします。もしこのエラーの直前に、システム内部で別のエラーが先行して起きていた場合、その先行エラーがEOFErrorオブジェクトの__context__に自動的に設定されます。

プログラマは__context__を調べることで、表面的なエラーの裏に隠された根本原因を特定し、効率的なデバッグ作業を進めることができます。システムエンジニアを目指す方々にとって、エラー発生時の詳細な状況を把握し、問題を解決するために、この例外チェーンの理解は非常に重要な概念です。

構文(syntax)

1try:
2    raise EOFError("Unexpected end of input.")
3except EOFError as e:
4    # EOFErrorインスタンスの__context__属性にアクセスする構文
5    context_exception = e.__context__

引数(parameters)

引数なし

引数はありません

戻り値(return)

BaseException | None

この定数は、例外処理のコンテキスト情報を保持します。例外処理中に捕捉された別の例外がある場合、その例外オブジェクトまたはNoneが返されます。

関連コンテンツ