try catchとやることは同じ
Java Scriptの書き方に慣れていると、try catchで例外処理を書いていると、「ああ、例外処理が書いてあるな」と見てわかりますが、Pythonのtry: except
を見ると独特だなと戸惑うことがありました。
JavaScriptで例外が発生するコード
jsfiddleを使用して実行することができます。
try {
// 例外が発生する可能性のあるコード
let result = 10 / 0; // JavaScriptではこれは Infinity になるので、別の例外を発生させます
throw new Error("テスト例外");
} catch (e) {
// すべての例外をキャッチ
console.error(`エラーが発生しました: ${e.message}`);
} finally {
// 常に実行される
console.log("finally ブロックは常に実行されます");
}
Pythonで例外を発生させる
try catchと違って()
がないですが同じようにエラーをキャッチする処理を記述することができます。
-
try:
の下の実行したい処理を書く. -
except
に例外処理を書く.-
ZeroDivisionError
: 除算またはモジュロ演算の第2引数がゼロだった. -
Exception
: すべての非終了例外の共通基底クラス. -
as
は別名(エイリアス)をつけることができます。長いエラー名をe
というエイリアスにする.
-
-
finally
はエラーが発生してもしなくても実行される.
try:
# 例外が発生する可能性のあるコード
result = 10 / 0
except ZeroDivisionError as e:
# 特定の例外をキャッチ
print(f"ゼロ除算エラー: {e}")
except Exception as e:
# その他の例外をキャッチ
print(f"その他のエラー: {e}")
else:
# 例外が発生しなかった場合に実行
print("例外は発生しませんでした")
finally:
# 常に実行される
print("finally ブロックは常に実行されます")
まとめ
今回はPythonで例外処理 try: except
の解説をしてみました。
Python公式のサイトは日本語翻訳もされているので学習はしやすいので技術書を読まなくても基本文法の学習は可能です。