プログラミングとコナン

【Python入門】初めてのプログラミング(例外処理2)

こんにちわ!この記事はPythonの初学者のための内容となっております。

前回は、基本的な例外処理について学習しました。

【Python入門】初めてのプログラミング(例外処理)

前回の記事

今回の内容も例外処理についてですが、前回よりもより深い内容となっています。
一応初めての上級内容となっているので、若干難しいかもしれません。
それではみていきましょう!

プログラミングスクールに関しては下の記事で詳しく記述しています。

こちらで紹介しているスクールは、すべて無料期間がある優良なスクールのみで、特徴を明確にし、読者のニーズに絞って丁寧に解説しました。初めての一歩として、無料説明会に参加してみてください。

【全スクール無料体験あり!】プログラミングを学びたい人におすすめのスクール5選!

Let’s practice a little!!

例外処理のおさらい

早速例外処理の記述例をみていこう!

わからないよ。って方は前回の記事や、ループ文についての記事を参照してください。

Pythonで学ぶ初学者のための学習&問題(if文編)

過去の記事

今回のコードで新しく出てきた関数は、「input」文ですね。これを用いることで、キーボードから入力したものをプログラムで実行できます。実際に上記のコードを実行してみると面白いかもしれませんね。

次に例外の種類を見ていくよ!

例外の種類について

プログラミングを行うにあたってエラーを吐かれたり、例外を見てきたと思います。
それらを少しまとめてみました。

例外の種類 意味
IndexError 配列の添え字のエラー
TypeError 型のエラー。例)”one” + 1
ZeroDivisionError 0で割ることによるエラー
KeyError 辞書にないkeyを使うことによるエラー
NameError 存在しない変数を使うことによるエラー
RuntimeError 実行時間のエラー
SyntaxError 構文のエラー。実行ができない。

※例外の種類に対応する記事のリンクを貼っています。

たくさんあって難しい。。。

RuntimeError」は、無限ループが起き、プログラムが終了しないときなどに便利です。
また、「SyntaxError」はPythonならではのインデントエラーや、コロンなどに間違いが存在するときなどで出てきます。いずれもよく見るエラー構文なので覚えておくといいですよ!

Let’s practice more!!

「else」文について

例外処理における「else」文は、エラーが起こらなかった場合に実行される構文です。
早速例を見ていきましょう!

エラーが起こっていない、前半の命令のみで「else」文が実行されているのがわかりますね。
続いて、「finally」文を見ていきましょう!

「finally」文について

例外処理における「finally」文は、エラーが起こっても起こらなくても必ず実行するときに用いる構文です。例えば、必ず出力しておきたい文字がある場合や、ファイルを閉じてからプログラムを終了したいときなどに使われます。例を見ていきましょう!

実行結果を見ていただくとわかりやすいのですが、「finally」文は必ず実行されているのがわかりますね!

「try」「except」「else」「finally」などたくさんの構文があることがわかりました。また、エラー構文も様々なものがありますので、さらに深く知りたい、あるいは、もっとたくさんの種類を扱ってみたいなどと感じるすんばらしいお方は公式ページなどで調べてみるのもいいですね。

Today’s final practice!!

まとめ

今回の記事では、例外処理の「else」文「finally」文を扱いました。
様々な構文とエラー内容を使い分けれるようになると、プログラムを組むうえでの人的ミスも減っていいと思います。サンプルコードが長く、若干難しかったかもしれませんが、これからも頑張っていきましょう!

  • 基本は、「try – except」
  • 通常に終了したときに実行するのは、「else」
  • 必ず実行されるのは、「finally」

これさえ押さえれば何とかなりそう!

本日の理解度調査

今日の最後に理解度調査をします!!
どうすれば正しくなるのか考えてみてね!!

Q. 「Search_Key_else」関数を出力結果と一致するように定義せよ。
  ただし、エラー構文は「KeyError」を用いる。

正解は。。。

わかったかな??正解出来たら今回の項目は完璧だね!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA