num_list = [1, 2, 3, 4, 5]
try:
num_list[10]
print(‘ここは表示されない’)
except IndexError: →エラーの種類を設定する ここでエラーの原因が分かる
print(‘IndexError: リストに存在しない要素が参照されました’)
結果
IndexError: リストに存在しない要素が参照されました
エラーが出るとexcep節へ移動する。
エラーに関わらず行いたい処理がある場合には
def divider(a, b):
answer = None
try:
answer = a / b
return f'{a} ÷ {b} = {answer}’
except ZeroDivisionError:
return ‘ゼロ除算が発生しました。’
finally:
print(‘割り算する関数を終了します’)
こうするとtryでも、exceptでもfinallyが実行される。
tryからelseの流れ
def input_loop():
while True:
value = input(‘文章を入力してください[A-Z,Space]:’)
try: ここで関数が実行できるのかチェック
nums = encrypt(value)
このtry行を短くする。OKだったら、やる処置は基本的にはelse以降に書く。
エラーが多くなってしまうため。
except ValueError: エラーの種類を指定
print(value, ‘はローマ字またはスペースではありません’)
else: 実行できた時の処理
print(*nums)
finally: できても出来なかっても、の時の処理
print(‘終了するにはCtrl-Cを入力してください’)
コメント