関数の中でエラーが出たらその関数を無視してプログラム全体を最後まで実行したい


概要


try exceptの基本

def 関数名():
    関数の内容

コード1

try:
    関数名()
except エラー名:
    エラーが起きたときの処理

コード3

のように書くと、まずコード1が実行され
次にtryの中に入って関数が実行されようとするが
関数の中でexcept文のエラー名のエラーが発生した場合
すぐさま関数から抜けてexceptの中へ移行する
その後コード3へ行ってあとはそのまま

これを使うと関数の中でエラーが発生しても
とりあえずはプログラムを最後まで実行できる


def aFunc():
    print(1 + 'A')
    print('aFuncを通りました')

try:
    aFunc()
except TypeError:
    print('exceptを通りました')

print('その後ここに来ます')

aFuncという関数を以下に定義
    「1 + A」を出力せよ
    「aFuncを通りました」と出力せよ

以下を実行し、エラー「TypeError」が出たらexcept以下へすぐ移動せよ
    関数aFuncを実行せよ
try中にTypeErrorが出たら以下を実行せよ
    「exceptを通りました」を出力せよ

「その後ここに来ます」と出力せよ

出力


exceptを通りました
その後ここに来ます

説明


上のコードでは
1 + A
は数字と文字の足し算なのでエラー(Type Error)になる
このエラーが出るとすぐに関数aFuncから抜けて
exceptへ移行する

間違えやすい問題