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

【Python3.x】BlockingIOError::characters_written定数の使い方

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

作成日: 更新日:

基本的な使い方

characters_written定数は、Pythonで入出力(I/O)操作を行う際に発生しうるBlockingIOErrorというエラーに関連し、エラー発生時までに「実際に書き込まれた文字数」を示す定数です。

BlockingIOErrorは、ファイルやネットワークなどのI/Oを「非ブロッキングモード」で実行中に発生します。これは、データがすぐに書き込めない状況でもプログラムが待機せず、書き込みが完了しなかったことを即座に通知するためのエラーです。

例えば、大量のデータをネットワークに送信しようとした際、ネットワークの混雑により一部しか送信できず、途中で書き込みが中断されることがあります。このときBlockingIOErrorが発生し、その例外オブジェクトのcharacters_written属性には、中断されるまでに実際に送信が完了したバイト数(文字数)が格納されます。

この値は、エラー発生時にどれだけのデータが既に処理されたかを確認するために重要です。これにより、残りのデータ処理やエラーからの適切な回復処理など、プログラムが具体的な対応策を講じるための情報として役立ちます。

構文(syntax)

1try:
2    raise BlockingIOError(11, "Resource temporarily unavailable", 123)
3except BlockingIOError as e:
4    written_characters = e.characters_written

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

characters_writtenは、書き込み操作によって実際に書き込まれた文字数を表す整数値を返します。

関連コンテンツ