【Python3.x】FileNotFoundError::errno定数の使い方
errno定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
errno定数は、PythonにおいてFileNotFoundErrorなどのOSErrorを継承する例外が発生した際に、オペレーティングシステム(OS)が報告する具体的なエラーの種類を数値で表す定数です。
FileNotFoundErrorは、プログラムが指定したファイルやディレクトリを見つけられなかった場合に発生する、Pythonの組み込み例外の一つです。この例外が発生すると、単に「ファイルが見つからなかった」という情報だけでなく、その例外オブジェクトにはerrnoという属性が設定され、OSが内部的に返す、より詳細なエラーコード(エラー番号)が保持されます。
例えば、多くのOSでは、ファイルやディレクトリが存在しないことを示すエラーコードとして特定の整数値(UNIX系OSではENOENTに対応する2など)が定義されています。errno定数は、このOSが定めるエラー番号そのものを指し、FileNotFoundErrorオブジェクトがその値を持つことで、システムレベルでどのような問題が発生したのかを具体的に示します。
システムエンジニアを目指す方にとって、このerrno定数の値を利用することは、エラーの原因を深く理解し、適切なエラーハンドリングを行う上で非常に重要です。プログラムでFileNotFoundErrorをキャッチした際に、例外オブジェクト(例えばe)からe.errnoとしてこの値を取得し、その値に基づいてプログラムの処理を分岐させたり、ユーザーにより具体的なエラーメッセージを表示したり、詳細なログを記録したりすることができます。これにより、より堅牢で信頼性の高いアプリケーションを開発するための重要な手がかりとなります。
構文(syntax)
1try: 2 with open("non_existent_file.txt", "r") as f: 3 pass 4except FileNotFoundError as e: 5 # FileNotFoundError オブジェクトの errno 属性にアクセス 6 error_code = e.errno 7 print(error_code)
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
FileNotFoundError 例外が発生した際に、オペレーティングシステムが返したエラーコードを表す整数値です。