エラー辞典

TimeoutError

処理が時間内に終わらなかったときに発生するエラーです。ネットワーク通信でよく見られます。

原因

サーバーからの応答が遅い、ネットワークが不安定、相手先が処理できる状態にない、などが原因です。

エラーになるコード例

import socket
sock = socket.socket()
sock.settimeout(0.001)
sock.connect(('example.com', 80))
TimeoutError: [Errno 110] Connection timed out

修正版

import socket
try:
    sock = socket.socket()
    sock.settimeout(5)
    sock.connect(('example.com', 80))
except TimeoutError:
    print('接続がタイムアウトしました')

よくある間違い

  • タイムアウトの秒数を極端に短く設定してしまう
  • 通信系のエラーをtry/exceptで想定せず、プログラム全体が落ちてしまう

← エラー辞典に戻る