Pythonの例外処理についてわかりやすく解説

※アフィリエイト広告を利用しています

python 例外処理

ミスのないように、神経を研ぎ澄ませ肩こりが悪化しながら、腱鞘炎になりながら
コードを書いても、エラーが出る時は出ます。

エラーには致命的なエラーもあれば
致命的でないエラーもあります。

いろんなエラーがあるのですが・・・
特に実行中に検出されるエラーのことを例外といいます。

今回は例外処理について一緒に学習していきましょう。

スポンサードリンク




【Python入門】例外処理とは?

例外とは記述したコードを実行した時にエラーが出たことを言います。
そんな場合にどう対処するか?という方法論を例外処理と言うわけです。

例外は

・指定したファイルがない時
・必要な個所にインデント(字下げ)がされていない時

などで発生します。

例外処理が上手であれば上手であるほど
うまくエラーと付き合っていくことができます。

エラーが出たからといって
途中で投げ出さなくても済むようになるわけです。

スポンサードリンク




【Python入門】例外処理を例題を使って学習

それでは例外処理について学習していきましょう。
例題1をご覧ください。

#例題1例外処理

try:
    with open('reigai.txt', 'r') as a:
        print(a.read())
except FileNotFoundError as b:
    print('例外処理が実行されましたね。\nファイルがないから発生したんですよ。')
except Exception as b:
    print(b)

例題1では

try:
    with open('reigai.txt', 'r') as a:

try文の中でwithを使ってファイルを読み込もうとしています。
ファイルの読み込みはwith文を使うことで簡単に実現することができます。

詳しくはこちらの記事をご覧ください。
【Python】with文の使い方についてasとからめて解説

話を元に戻して読み込もうとしているのは
reigai.txtというファイルです。

ですが、reigai.txtというファイルは存在しません。
存在しないファイルを読み込むことはできないのでs
エラーが発生します。

次に

except FileNotFoundError as b:
    print('例外処理が実行されましたね。\nファイルがないから発生したんですよ。')
except Exception as b:
    print(b)

どんなエラーが出たかによって
どう対処するか、場合わけをしています。

具体的には

except FileNotFoundError

によってファイルが存在しなかった場合の例外処理を指示します。

で、実際にファイルは存在しないので

print('例外処理が実行されましたね。\nファイルがないから発生したんですよ。')

と、メッセージが表示されます。

ちなみに\nは改行を意味します。

それから

except Exception as b:
    print(b)

はその他の例外の場合の処理を意味します。
で、print(b)でどんなエラーが出たか
表示するように記述しています。

実行すると
例外処理が実行されましたね。
ファイルがないから発生したんですよ。
と表示されます。

例外処理

スポンサードリンク




【Python入門】例外処理を例題を使って学習2

次に例題2をご覧ください。

#例題2例外処理

a = ['みじめ','幼稚','能力不足','プライドだけ高い']

try:
    print(a[100])
except IndexError as b:
    print('そんなにリストの要素はないですよ!', b)
except Exception as b:
    print(b)

例題2について解説していきますね。

a = ['みじめ','幼稚','能力不足','プライドだけ高い']

リストaの中に’みじめ’,’幼稚’,’能力不足’,’プライドだけ高い’という要素が入っています。

リストについて詳しく学んでみたい方はこちらをご覧ください。
【Python】タプルとは?リストとタプルの違いについても解説

次に

try:
    print(a[100])

try文の中に
「リストaの100番目の要素を表示しなさい」という記述があります。
リストの一番左の要素は0なので、100番目の要素は左から101番目の要素になります。

リストaは4つしかないので
101番目の要素を表示できません。
したがってエラー(例外)になります。

そんな場合には

except IndexError as b:
    print('そんなにリストの要素はないですよ!', b)

そんな場合の例外処理として
IndexErrorを使用します。

で、実際にリストaの範囲外の処理が記述されていました。
だから、例外処理が実行され、『そんなにリストの要素はないですよ!』と
表示されます。

それから

except Exception as b:
    print(b)

どんなエラー(例外)が起きたのか
表示させるように記述しています。

実行すると
インデックスが範囲外です list index out of range
と表示されます。

例外処理

【Python入門】例外処理まとめ

例外処理

以上のように例外処理を記述しておくことで
コンピューターが破壊されるような恐ろしいエラーを避けることができます。

また、どんな例外(エラー)が起きているのか
例外処理をしておくことでわかるので
より正確なプログラミングを組むことが可能になります。

以上で例外処理に関する解説を終わります。

pythonを学ぶならこちらの動画講座がおすすめです

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

かなり長い講座名ですね。
わかりにくそうな感じがします。

ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。

また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。

それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。

なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。

値段は時期によって違います。

詳しくはこちらをご覧ください。


みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。

そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。

単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。

なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。


Pythonで機械学習:scikit-learnで学ぶ識別入門

この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。

すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。

でもそんなことはありません。
すごくわかりやすいです。

pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。

詳しくはこちらをご覧ください。

関連記事

ページ上部へ戻る