Pythonでエラーと例外処理を完全マスター|try/except入門と応用

Pythonでエラーと例外処理を完全マスター|try/except入門と応用 python

Pythonを使っていると、思わぬエラーに遭遇することがあります。しかし、例外処理(try/except)を理解すれば、プログラムの途中停止を防ぎ、より安定したコードを書くことができます。本記事では、初心者でもわかるように基礎から応用まで解説します。

エラーと例外の違いを理解しよう

まずは、エラーと例外の違いを理解しましょう。エラーとは、文法間違いやモジュールが見つからないなど、コード実行が不可能になる致命的な問題です。一方で例外は、実行中に発生する特殊な状況であり、try/exceptを使って処理を制御できます。そのため、例外処理を学ぶことで、プログラムの信頼性が大幅に向上します。

try/exceptの基本構文

try/exceptは、エラーが発生しそうな箇所をtryブロックに入れ、エラーが起きたときにexceptで処理します。この方法を使えば、プログラムを途中で止めずに処理を続行できます。

シンプルな例

try:
    x = int(input("数字を入力してください: "))
    print("2倍の値:", x * 2)
except ValueError:
    print("数字を入力してください!")

上記のコードでは、整数以外を入力するとValueErrorが発生します。しかしexceptでキャッチすることで、プログラムは停止せずにメッセージを表示します。

複数の例外を処理する

try:
    result = 10 / int(input("数字を入力: "))
except ValueError:
    print("数字を入力してください。")
except ZeroDivisionError:
    print("0では割れません。")

このように、複数の例外を個別に処理すれば、ユーザーにより適切なメッセージを返せます。

elseとfinallyの活用方法

try/exceptには、elseとfinallyを組み合わせることで、さらに柔軟な処理が可能です。

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

elseは例外が発生しなかったときに実行され、finallyは必ず実行されます。そのため、リソース解放などに便利です。

実践的な例外処理の使い方

ファイル操作での例

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

この方法を使えば、存在しないファイルを開こうとしても安全に処理できます。

ユーザー入力での例

while True:
    try:
        age = int(input("年齢を入力: "))
        break
    except ValueError:
        print("数字で入力してください。")

このようにループと組み合わせれば、正しい入力が得られるまで繰り返し要求できます。

よくあるエラーと注意点

  • exceptの書きすぎは可読性を下げるため、適切な範囲に絞る。
  • 例外を捕まえた後に何もしないのは避ける(バグの原因になる)。
  • except Exception: は強力だが、広すぎるため注意して使用する。

応用テクニック|独自例外の作成

class CustomError(Exception):
    pass

try:
    raise CustomError("独自エラーが発生しました。")
except CustomError as e:
    print(e)

独自の例外クラスを作ることで、特定のエラーだけをキャッチできるようになります。

学習を深めるための外部リソース

プログラミング初心者におすすめのサービス

「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、

テックアカデミーがおすすめです。

AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。

さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。

テックアカデミー無料相談

また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富な講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。

書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。

また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験や知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。

こちらのリンクから詳細をチェックしてみてください。

▶ ココナラを活用する

まとめ

Pythonのtry/exceptは、エラー発生時にもプログラムを止めず、安全に処理を続けるための重要な機能です。基礎を押さえつつ、実践で少しずつ応用していくことが上達の近道です。

以下のリンクから、

SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。

SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント

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