まず結論
try except は、エラーが起きたときの処理を用意する書き方です。
try:
number = int(input("数字を入力: "))
print(number)
except ValueError:
print("数字を入力してください")
数字に変換できない入力が来ても、プログラム全体が止まらずにメッセージを表示できます。
こんなときに読む記事です
次のような疑問がある人向けです。
tryとexceptの役割が分からない- エラーをどう扱えばいいか分からない
- とりあえず全部
exceptにしていいのか迷う
try except は、エラーが起きる可能性を考えておくための書き方です。
tryに試す処理を書く
try の中には、エラーが起きるかもしれない処理を書きます。
try:
number = int("abc")
この例では、int("abc") で ValueError が起きます。
exceptに対応を書く
except には、エラーが起きたときの処理を書きます。
try:
number = int("abc")
except ValueError:
print("変換できません")
この場合、エラー表示の代わりに 変換できません と表示されます。
エラーの種類を書く
except には、できるだけエラーの種類を書きます。
except ValueError:
何でも受け取る except: だけにすると、本当の原因まで隠れてしまうことがあります。
エラーをなかったことにしない
try except は、エラーを消すためだけのものではありません。
起きたエラーに対して、分かりやすい案内を出したり、別の処理に進んだりするためのものです。
読み方のコツ
try は「試す」、except は「このエラーが起きたら」と読みます。
まずは ValueError や FileNotFoundError のように、具体的なエラーを指定する形から覚えると安全です。
3行まとめ
- tryにはエラーが起きるかもしれない処理を書く。
- exceptにはエラーが起きたときの処理を書く。
- 何でもexceptで隠すと原因が分かりにくくなる。