例外処理

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を入力してください’)

コメント

タイトルとURLをコピーしました