Pythonでは、エラーが発生した場合に処理を繰り返すために、try/except
ブロックを使用します。これは、特定の操作がエラーを引き起こす可能性がある場合に特に有用です。以下に、try/except
ループを成功するまで繰り返す基本的なパターンを示します。
while True:
try:
# ここにエラーが発生する可能性のあるコードを書く
break # エラーが発生しない場合、ループを抜ける
except Exception:
continue # エラーが発生した場合、ループを続ける
このパターンは、ユーザーからの入力を検証する場合など、エラーが発生するまで処理を繰り返す必要がある場合によく使用されます。
また、再帰を使用して同様のことを行うことも可能です。以下にその例を示します。
def some_function(tries=0):
try:
# ここにエラーが発生する可能性のあるコードを書く
return result
except Exception:
if tries < sys.getrecursionlimit():
return some_function(tries+1)
この関数は、エラーが発生した場合に自分自身を呼び出し、エラーが発生しないまでこれを繰り返します。
これらのパターンを使用することで、Pythonでエラーハンドリングを効果的に行うことができます。ただし、無限ループや無限再帰を避けるためには、適切な終了条件を設定することが重要です。