Pythonでは、エラーが発生する可能性のあるコードをtry
ブロック内に記述し、その後にexcept
ブロックを用いてエラーが発生した場合の処理を記述します。これにより、エラーが発生してもプログラムが停止することなく、指定した処理を実行することができます。
特に、一部の処理が失敗する可能性がある場合や、外部リソースに依存する処理を行う場合には、try-except
を用いてエラーハンドリングを行うことが一般的です。
さらに、try-except
をループ構造と組み合わせることで、特定の処理を一定回数だけリトライする、あるいは成功するまで無限にリトライするといった処理も実現できます。
以下に、Pythonでtry-except
を用いた繰り返し処理の一例を示します。
for _ in range(3): # 最大3回実行
try:
do_something() # 失敗しそうな処理
except Exception as e:
pass # 必要であれば失敗時の処理
else:
break # 失敗しなかった時はループを抜ける
else:
pass # リトライが全部失敗した時の処理
このコードでは、do_something()
という処理を最大3回までリトライします。do_something()
が成功すればループから抜けますが、失敗(例外が発生)すればエラーを無視(pass
)して再度リトライします。3回リトライしても成功しない場合は、else
ブロックで指定した処理(ここでは何もしない)が実行されます。
このように、Pythonのtry-except
とループを組み合わせることで、エラーが発生しても適切に処理を続行するロバストなコードを書くことができます。.