【Python文法】例外処理(try,except,finally,else)を初心者向けに解説しました【おまけ付き】

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

Pythonの文法を手っ取り早く習得できたらなんて思っている方はいませんか?

今回はPythonを始めたいと思っているプログラミング初心者の方に向けてとても簡単に基礎文法を紹介しました。

大事なポイントだけなので効率的に勉強することができると思います。

意外と、慣れている方でも知らない細かい部分もあるかもしれません。

またPythonは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっています。

Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。

Pythonを勉強したい方は是非読み進めていってみてくださいね。

読み進めていく上でわからないところがあればこちらの記事を参考にしてみてください。

例外処理(try, except)

それでは例外処理について解説していきます。

例外処理にはtryとexceptを用います。

try文の中のコードでエラーが起こった場合exceptの方に飛ばされます。

具体的にコードを書きます。

l = [1,2,3,4]
i = 5

try:
   l[i]
except IndexError:
   print('エラーが発生しました')

print('end')

#実行結果

エラーが発生しました
end

今回はlという配列にl[5]という要素がないのでIndexErrorというエラーに該当します。

よってtry文の中でIndexErrorが発生しているのでexcept文に飛ばされます。

そしてexcept文の中身が実行されるというわけです。

またどのようなエラーが起こっているかをターミナル側に渡したいときはこのように記述します。

l = [1,2,3,4]
i = 5

try:
   l[i]
except IndexError as ex:
   print('エラーが発生しました:'.format(ex))

print('end')


#実行結果

エラーが発生しました:list index out of range
end

エラー名の後に変数を宣言してあげて例外名を変数に格納し、それを表示します。

例外処理(finally)

次にfinallyについてです。

finallyは必ず最後に実行したい文がある時に使います。

l = [1,2,3,4]
i = 5

try:
   l[i]
except IndexError as ex:
   print('エラーが発生しました:'.format(ex))

except Exception as ex:
   print('その他のエラーが発生しました:'.format(ex))

finally:
print('clean up')


#実行結果

エラーが発生しました:list index out of range
clean up

finally文は例えエラーが存在しなくても、IndexError以外のエラーが出てもどのような場合であっても必ず実行されます。

例外処理(else)

最後にelseです。

elseはtry文の中でエラーをはかなかった場合に処理されます。

例えば

l = [1,2,3,4]

try:
   l[0]
except IndexError as ex:
   print('エラーが発生しました:'.format(ex))

except Exception as ex:
   print('その他のエラーが発生しました:'.format(ex))

else:
   print('エラーはありません')

finally:
print('clean up')


#実行結果

エラーはありません
clean up

このようにtry文の中でエラーが発生しなかった場合にelse文が実行されます。

その後に必ず実行されるfinally文が実行されます。

どのようなエラーがあるのか知りたい方はこちらのウェブサイトを見てみてください。

まとめ

それではまとめです。

例外が発生しているか確かめたい場合にtry文を使う

・try文の中で例外が発生している場合except文の該当している所に飛ばされる

例外があるかないかに関わらずfinally文は実行される

例外がなかった場合else文が実行される

l = [1,2,3,4]

try:
   l[0]

except IndexError as ex:
   print('エラーが発生しました:'.format(ex))

except Exception as ex:
   print('その他のエラーが発生しました:'.format(ex))

else:
   print('エラーはありません')

finally:
print('clean up')


#実行結果

エラーはありません
clean up

Pythonの勉強方法【おまけ】

Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。

具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。

めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。

私が受けたPythonの講座の中では最も良かったですし、この講座だけで案件を獲得できるようになるレベルまでプログラミングを上達できることができると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。

今回紹介した例外処理の独自例外の作成もこの講座の中で述べられています。

気になる方はこちらのリンクから。

Udemy

その他のPythonの記事

おわりに

今回はPythonの文法の中で例外処理について解説しました。

わからなかった人はぜひUdemyの講座を受けてみることをおすすめします。

また独自例外の作成を学びたい方もこのUdemyの講座のなかにあります。

他にも基礎文法についての記事を挙げているのでそちらもみてみてくださいね。

コメント

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