【Python3.x】PermissionError::errno定数の使い方
errno定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
errno定数は、システムコールやOS操作の失敗時に発生する特定のエラーの種類を識別するための数値コードを表す定数です。Pythonにおいては、ファイル操作やネットワーク通信など、オペレーティングシステム(OS)が提供する低レベルな機能(システムコール)に関連するエラーが発生した際に送出されるOSError、およびそのサブクラスの例外オブジェクトが、このerrno属性としてこの数値コードを保持します。
特に、PermissionErrorはOSErrorのサブクラスであり、ファイルやディレクトリへのアクセス権限がないなど、システムリソースへの操作が許可されない場合に発生する例外です。このPermissionErrorのインスタンスが持つerrnoは、例えば「アクセスが拒否された」ことを示すEACCESや、「操作が許可されていない」ことを示すEPERMといった、OSが定義する具体的なエラーコード(整数値)を示します。
システムエンジニアを目指す方にとって、このerrnoの値は、プログラムが遭遇したエラーがどのような種類のものであるかを正確に特定し、それに応じた適切なエラーハンドリングを実装するために非常に重要です。errnoを参照することで、エラーの根本原因を深く理解し、より堅牢で信頼性の高いシステムを構築するための手がかりとすることができます。この数値コードはOSによって標準化されており、異なるシステム間でも共通の理解が可能です。
構文(syntax)
1try: 2 with open("/root/protected_file.txt", "w") as f: 3 f.write("Attempting to write to a protected file.") 4except PermissionError as e: 5 error_code = e.errno
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
PermissionError クラスの errno プロパティは、操作が拒否された理由を示す整数コードを返します。これは、オペレーティングシステムが発行するエラー番号に対応しています。