Python Language 例外処理の具体例


ユーザー入力

ユーザーが入力を介して番号をinput 。入力が数字であることを確認する必要があります。 try / exceptを使用することができます:

Python 3.x 3.0
while True:
    try:
        nb = int(input('Enter a number: '))
        break
    except ValueError:
        print('This is not a number, try again.')

注:Python 2.xは代わりにraw_inputを使用します。関数inputはPython 2.xでは存在しinputが、セマンティクスは異なります。上記の例では、 input2 + 2ような式を受け取り、数値に評価されます。

入力を整数に変換できないValueErrorは、 ValueErrorが発生します。あなたはでそれをキャッチすることができますexcept 。例外が発生しなければ、 breakはループから飛び出します。ループの後、 nbは整数を含む。

辞書

range(n)ような連続した整数のリストを反復しているとし、特定の整数に遭遇したときに行うべきことに関する情報が入っている辞書dリストを持っているとしたらd[i]スキップします

d = [{7: 3}, {25: 9}, {38: 5}]

for i in range(len(d)):
    do_stuff(i)
    try:
       dic = d[i]
       i += dic[i]
    except KeyError:
       i += 1

存在しないキーの辞書から値を取得しようとすると、 KeyErrorが発生します。