except
エクセプト(制御構文)
意味 エラー発生時の処理
exceptとは?
プログラム実行中にエラーが発生するかもしれない場合に、そのエラーの種類を指定して、もし発生したらどのように対処するかを記述するために使います。
exceptの具体的な使い方
複数の例外処理
def divide(a, b):
try:
result = a / b
print(f'{a} ÷ {b} = {result}')
except ZeroDivisionError:
print('エラー: 0で割ることはできません。')
except TypeError:
print('エラー: 数値を入力してください。')
except Exception as e:
print(f'予期せぬエラーが発生しました: {e}')
divide(10, 2)
divide(10, 0)
divide('10', 2)
divide(10, '2')
👇出力結果
10 ÷ 2 = 5.0
エラー: 0で割ることはできません。
エラー: 数値を入力してください。
エラー: 数値を入力してください。
この例では、除算を行う関数を定義し、異なる種類の例外を処理しています。ZeroDivisionErrorは0で割ろうとした場合、TypeErrorは数値以外の入力がある場合に発生します。最後のExceptionは、他の全ての例外をキャッチします。
例外の情報を利用する
import sys
try:
x = int(input('整数を入力してください: '))
y = 100 / x
except ValueError as ve:
print(f'ValueError: {ve}')
print('整数を入力してください。')
except ZeroDivisionError as zde:
print(f'ZeroDivisionError: {zde}')
print('0以外の数を入力してください。')
except:
print(f'予期せぬエラーが発生しました: {sys.exc_info()[0]}')
else:
print(f'100 ÷ {x} = {y}')
finally:
print('プログラムを終了します。')
👇出力結果
整数を入力してください: 0
ZeroDivisionError: division by zero
0以外の数を入力してください。
プログラムを終了します。
この例では、ユーザーからの入力を受け取り、100をその数で割る計算を行います。ValueErrorとZeroDivisionErrorを個別に処理し、例外オブジェクトの情報を表示しています。また、予期せぬエラーに対してもキャッチしています。elseブロックは例外が発生しなかった場合に実行され、finallyブロックは常に実行されます。
exceptに関するよくある質問
Pythonのexceptについても学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのexceptやpass、not、else、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Pythonを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!