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サービスのエンジニアに転職した話

コメント