次の DEMO を見に行く
Python

Pythonの例外処理

arthur

例外処理とは

例外処理とはプログラムにエラーが発生したときに、その問題をうまく処理してプログラムを停止させずに済む仕組みのことです。
プログラムにおいて起こりそうなエラーとして以下のようなことがあります。

  • 例えば存在しないファイルを開こうとしてしまった
  • 数字を入力してほしい場面でユーザーが数字以外を入力してきた。
  • 存在しないリストの要素を指定してしまった

こういったとき、例外処理がなければプログラムが停止してしまいます。しかし、例外処理を書くことでプログラムを続けることができます。

例外処理の書き方

例外処理の構文は以下の通りです。
ポイントとなるのは「ここ1」「ここ2」と書いてある場所です。

while True:
	try: #ここ1
		number = int(input('数字を入力してください'))
		result = 10 / number
		print(f'計算結果: {result}')

	except ZeroDivisionError: #ここ2
		print('0で割ることはできません。別の数字を入力してください')
	except ValueError:
		print('数字を入力してください')
  • try
    このネストの範囲で発生した例外が発生したときに例外処理が行われます。
  • except
    発生した例外に応じた処理を記述します。
    exceptの後に例外処理を行いたい例外の種類を宣言します。例の場合、数値に変換できない文字が入力された場合と0が入力されたことによる0除算が行われた場合の処理を記述しています。
    例外の種類に応じた処理をしたい場合はexceptを複数記述することで実現することができます。

finally

finalyというのはtry exceptの処理が行われたときに最後に必ず行う処理を記述することができます。以下の場合は、例外が発生した場合も発生しなかった場合も常に「処理を再開します。」というメッセージが表示されます。

while True:
	try: #ここ1
		number = int(input('数字を入力してください'))
		result = 10 / number
		print(f'計算結果: {result}')

	except ZeroDivisionError: #ここ2
		print('0で割ることはできません。別の数字を入力してください')
	except ValueError:
		print('数字を入力してください')
	finaly:
		print('処理を再開します。')

withを利用せずにファイルを必ずクローズしたり、ソケット通信を切断するなど必ず行ってほしい処理を記述することが多いです。

ABOUT ME
ケン
ケン
ヨワモンのパートナー
ヨワモンのパートナー
記事URLをコピーしました