KAMEYA_WORKS
プログラムを実行すると、思わぬエラー(例外)が発生することがあります。Pythonでは、try-except
を使って例外を処理し、プログラムが強制終了しないようにすることができます。
例外(Exception)は、プログラムの実行中に発生するエラーのことです。例えば、ゼロ除算や存在しないファイルの読み込みなどが該当します。
# ZeroDivisionError(ゼロ除算エラー)
print(10 / 0) # エラー発生!
# FileNotFoundError(ファイルが見つからない)
with open("not_exist.txt", "r") as f:
content = f.read()
try-except
による例外処理try
ブロックにエラーが発生する可能性のあるコードを記述し、except
でエラーをキャッチします。
try:
print(10 / 0)
except ZeroDivisionError:
print("ゼロで割ることはできません!")
エラーが発生してもプログラムが停止せず、適切なメッセージを表示できます。
except
を複数用意することで、異なる種類の例外を個別に処理できます。
try:
num = int("Hello")
print(10 / 0)
except ZeroDivisionError:
print("ゼロ除算エラー!")
except ValueError:
print("数値に変換できません!")
as
を使うと、発生した例外の詳細を取得できます。
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"エラー発生: {e}")
else
と finally
else
: 例外が発生しなかった場合の処理try:
num = int("10")
except ValueError:
print("数値に変換できません!")
else:
print("正常に処理されました!")
finally
: 例外の有無に関係なく実行される処理try:
f = open("sample.txt", "r")
content = f.read()
except FileNotFoundError:
print("ファイルが見つかりません!")
finally:
print("処理終了。リソースを解放します。")
finally
は、ファイルを閉じる処理など、後始末が必要な場面で役立ちます。
Pythonでは、raise
を使って独自の例外を作ることができます。
class CustomError(Exception):
pass
try:
raise CustomError("これはカスタムエラーです!")
except CustomError as e:
print(f"カスタム例外が発生しました: {e}")
try-except
を使ってエラーを処理できるexcept
を複数指定して異なるエラーに対応できるelse
を使って正常時の処理を記述できるfinally
で後始末の処理を行えるraise
を使って独自の例外を作成できる適切に例外処理を行うことで、エラーが発生してもプログラムが安全に動作するようになります!