Python|例外処理 try-exceptの基本と注意点

1. はじめに

Pythonでプログラムを書くとき、エラーが発生することは避けられません。そんなときに重要なのが「例外処理」です。この記事では、Python|例外処理 try-exceptの基本と注意点について、初心者にもわかりやすく解説します。

例外処理を正しく使えば、エラーが起きてもプログラムが途中で止まらず、安全に動作を続けることができます。また、ユーザーに優しいメッセージを表示することで、アプリケーションの品質も向上します。

 

2. Pythonの例外処理 try-exceptの基本構文と使い方

例外処理とは?

例外処理とは、実行中に起こるエラー(例外)をキャッチして対処する方法です。エラーが発生すると通常はプログラムが停止しますが、try-exceptを使えば停止せずに処理を続けることができます。

基本的なtry-except構文

try:
    # エラーが発生する可能性のある処理
    num = int(input("数字を入力してください: "))
    print("入力した数字は:", num)
except ValueError:
    # エラーが発生した場合の処理
    print("エラー: 数字を入力してください。")

実行結果例(正しい入力時):

数字を入力してください: 10 入力した数字は: 10

実行結果例(エラー時):

数字を入力してください: abc エラー: 数字を入力してください。

exceptは複数指定できる

exceptは複数の例外を処理できます。

try:
    lst = [1, 2, 3]
    print(lst[5])
except IndexError:
    print("エラー: リストの範囲外を参照しました。")
except Exception:
    print("その他のエラーが発生しました。")

 

3. よくある使い方・応用例

ファイル操作での例外処理

ファイル読み込み時にも、ファイルが存在しない場合などの例外を処理できます。

try:
    with open("data.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("エラー: ファイルが見つかりませんでした。")

ゼロ除算の処理

ゼロで割ったときのエラー(ZeroDivisionError)も頻出です。

try:
    a = 10
    b = 0
    result = a / b
    print(result)
except ZeroDivisionError:
    print("エラー: 0で割ることはできません。")

else句やfinally句の活用

try-exceptには、elsefinallyも併用できます。

else: エラーが発生しなかった場合のみ実行

finally: エラーの有無に関係なく必ず実行

try:
    num = int(input("数字を入力してください: "))
except ValueError:
    print("エラー: 数字を入力してください。")
else:
    print("入力値:", num)
finally:
    print("処理が終了しました。")

 

4. try-exceptの注意点とよくあるエラー

exceptを広く取りすぎない

except: だけを書くとすべての例外をキャッチしますが、予期しないバグを隠してしまう危険があります。基本は except 特定の例外: を使いましょう。

例外の種類を知らないと意味がない

代表的な例外には次のようなものがあります:

  • ValueError:型変換に失敗
  • IndexError:リストの範囲外を参照
  • KeyError:辞書に存在しないキー
  • TypeError:型が不正

処理を隠さずログを残す

例外をキャッチしたら、printで表示するだけでなくログに残すのも良い方法です。実務では logging モジュールを使うことが多いです。

 

5. まとめ

この記事では、Pythonの例外処理 try-exceptの基本構文から応用、注意点までを丁寧に解説しました。

  • try-exceptを使えばプログラムの安定性が向上する
  • エラーの種類に応じて適切にexceptを書くことが重要
  • elseやfinallyも使って、より柔軟なエラーハンドリングが可能

実務においては、ユーザーの操作ミスや外部ファイルの読み書き失敗など、例外が起こりうる場面が多数あります。早いうちからtry-exceptに慣れておくことが、Python学習の成功のカギになります。

タイトルとURLをコピーしました