DESIGNMAP

  1. TOP
  2. 公開講座
  3. ゼロから始めるPython入門
  4. 例外処理 ー ゼロから始めるPython入門【Vol.16】

例外処理 ー ゼロから始めるPython入門【Vol.16】

エラーには2種類あります。構文エラーと実行時エラーです。

構文エラーは記述ミスや文法ミスです。実行時エラーは例外と呼ばれます。例外処理を実装すると、例外がおこったときに、適切なメッセージ表示や処理をおこなうことができます。

前回でファイルの読み込みのコードを書きました。
下記のように存在しないファイルを指定して、実行するとエラーが表示されます。

基本の書き方

f = open("sample2.txt")

txt = f.read()

f.close()

print(txt)
IOError: [Errno 2] No such file or directory: 'sample2.txt'

開発中は「sample2.txt」があったのでエラーがでずに、公開時に削除されてしまいエラーになる可能性があります。
このコードを例外処理をつかってみましょう。

Atomを起動します。[ファイル]メニュー→[新規ファイル]をクリックします。[ファイル]メニュー→[保存]をクリックします。新規ファイルを生成以下のコード書いて、Vo.3でつくった「python-study」フォルダ内に、「exception1.py」というファイル名で保存します。

try:
    f = open("sample2.txt")

    txt = f.read()

    f.close()

    print(txt)
    
except:
    print("ファイルが読み込めませんでした。")

実行すると下記のように表示されます。

ファイルが読み込めませんでした。

書き方はエラーがおこりそうなコードをtryブロックで包みます。エラーが発生するとexceptブロックが実行されます。

特定の例外をつかまえる

特定のエラーを実行することも可能です。
「python-study」フォルダ内に、「exception2.py」というファイル名で保存します。

try:
    f = open("sample2.txt")

    txt = f.read()

    f.close()

    print(txt)
    
except FileNotFoundError as err:
    print("ファイルが存在しないため、読み込めませんでした。")
except Exception as other:
    print("ファイルが読み込めませんでした。")

これを実行すると、ファイルが存在しない時は、FileNotFoundErrorが実行されるので、エラーメッセージが具体的になります。as errerrは変数で任意の名前です。この変数にはエラー情報が格納されますので、ログファイルに出力することもできます。

except Exception as other:

Exceptionはすべてのエラーをつかまえます。一番最後に書くとよいでしょう。

リストの例外処理

他にもリストの例外処理をみてみましょう。
「python-study」フォルダ内に、「exception3.py」というファイル名で保存します。

try:
    fruits = ["みかん", "レモン", "すいか"]
    print(fruits[3])

except IndexError as err_i:
    print("オフセット値がリストの範囲を超えています。")

except TypeError as err_t:
    print("オフセット値が整数以外のものが指定されています。")

実行すると下記が出力されます。

オフセット値がリストの範囲を超えています。

今度は

print(fruits[3])

print(fruits["3"])

で保存して実行すると

オフセット値が整数以外のものが指定されています。

が表示されます。

それぞれ例外がキャッチされていることがわかります。

スポンサーリンク

関連記事

プロフィール

DESIGNMAP
制作ディレクター
お問い合わせ