はぴまるのおすすめキーボード Keychron K3 Max

初心者のためのPython基本講座:【第18回】例外処理とは?適切なエラー処置

当ページのリンクには広告が含まれている場合があります。

「例外処理って何?」「プログラムエラーの気づき方を教えてほしい!」という疑問や悩みを持っていませんか?

そんな悩みや疑問を解消できるように、この記事ではPythonの例外処理について解説しています。

「初心者のためのPython基本講座」とは

この講座は、これからPythonを学ぼうとする初心者の方がPythonの基本を学ぶための講座です。

Pythonの代表的な構文の使い方を具体的なコードを例にして解説しています。

この記事は、以下のような方におすすめ!
Pythonの例外処理について知りたい方
Pythonの基本を学びたい方

例外処理を知ると、プログラムをどんどん改善できるようになります。

エラーを正しく処理して、安定したプログラムを構築できるようになれば、周りからの信頼も生まれます。

この記事を読めば、Pythonの例外処理がわかり、プログラムをより良くするヒントを得ることができます!

Pythonの基本をマスターして、Pythonプログラマーとしての一歩を踏み出しましょう!

目次

前回の振り返り

前回の記事では、Pythonのモジュール化について解説しました。

ここまでの講座で、Pythonプログラミングの形をイメージできてきたのではないでしょうか。

Pythonのモジュール実行について確認できていない方は、

こちらの記事もチェックするとより理解が深まりますよ!

今回のゴール

では、改めて今回のゴールを確認しましょう。

今回のゴールは、エラー処理の記述方法を学び、実際に動作を確認することです。

実際にご自身のプログラムでも起き得るエラーが出てきますので、適切なエラー処理を施しましょう。

例外処理とは

まず初めに、例外処理って言葉聞きなれない人もいると思うので説明します。

例外処理っていうのは、エラーが発生した際の処理のことです。

この例外っていうのは、プログラムが想定外の動作のことを指します。

ようは、事前に想定できないエラーが起きた時の処理ってことですね。

ちょっと余談ですが、例外処理が発生すること自体は悪ではないので、

最初の頃は、たくさんのエラーを発生させるべきです。

安定したプログラムを構築するために大事なのは、その例外を放置しないことですよ!

エラーの種類

Pythonプログラミングにおいて、どんなエラーが発生するのでしょうか。

代表的なエラーを確認しておくと良いですよ。

  • ZeroDivisionError
    • ゼロ除算が発生した際に発生するエラー
  • NameError
    • 変数など定義してない状態で参照しようとした際に発生するエラー
  • TypeError
    • 型が異なっていることで発生するエラー
  • ValueError
    • 例えば数値を入力しなければいけないところに、文字列を入力してしまって発生するエラー
  • SyntaxError
    • 構文ミスなど、正しい文法で記述できていない場合に発生するエラー

これらのエラーは、実際に発生させてみるのが一番わかりやすいです。

Pythonコンソールなどで実際にエラーを発生させてみてください。

ゼロ除算の例を示します。

1/0
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ZeroDivisionError: division by zero

例外を処理する

例外が発生したら、どのような処理を行うのかを設計することも大切なことです。

単一の例外を処理する

例外処理をする場合は、tryexceptで例外をキャッチしたいコードを囲みます。

そして、例外の種類ごとでエラー処理を書いていきます。

try:
    num = int(input('Enter your favarit number!'))
    print(num)
except ValueError:
    print('Enter only number!')

複数の例外を処理する

複数の例外処理を記述したい場合は、次のようにいくつかの書き方があります。

  • 複数の例外をタプルで指定する
  • 複数行でexceptを記述する
  • exceptのみを記述する

それぞれ以下にコードを示します。

try:
    num = int(input('Enter your favarit number!'))
    print(num)
except (ValueError, NameError, TypeError):
    print('Enter only number!')
except RuntimeError:
    pass
except:
    pass

明示的に例外を起こす

raiseを使用して、例外処理を意図的に起こすこともできます。

raise TypeError('Hello.')

また、raiseはexcept文の中で使用すると、例外を例外のままにします。

try:
    raise TypeError('Hello.')
except:
    print('Error occurred!')
    raise

tryにおけるelse文

else文の中では、tryの中で例外が発生しなかった場合のみ実行されるコードを指定することができます。

try:
    num = int(input('Enter your favarit number!'))
    print(num)
except:
    print('Error occurred!')
else:
    print('Success!')

tryにおけるfinally文

finally文の中では、エラーが発生しても、発生しなくても実行されるコードを指定できます。

つまり最後に必ず実行されるコードということになります。

try:
    num = int(input('Enter your favarit number!'))
    print(num)
except:
    print('Error occurred!')
else:
    print('Success!')
finally:
    print('The end!')

まとめ

今回の記事では、Pythonの例外処理ついて解説しました。

今回のポイントをまとめると、次のとおりです。

まとめ
  • 例外処理とはプログラムでエラーが発生した際に実行する処理のこと
  • 明示的にエラーを発生させることもできる
  • 例外処理はtry、except、else、finallyを利用して実行するコードブロックを記述する

Pythonの例外処理を知り、Pythonプログラムを改善させるエラーに気づく方法を理解できたのではないでしょうか。

Pythonの例外処理ができるようになれば、エラーを認識できるようになります。

ぜひこの記事を参考にして、Pythonの例外処理をマスターしてください!

以上、最後までお読みいただきありがとうございました。

未経験からのITエンジニア転職に挑戦したい方へ

転職も含めて真剣にプログラミングスキルを手に入れたいとお考えの方に、おすすめの方法をご紹介します。

結論から言うと、それは転職活動とスキル学習を同時に進める方法です!

同時に進める理由は、転職成功までの時間を短縮するためなんですが、

でも昼間は学校や本業もあるのに、転職活動と学習を同時にって無理!

って思いますよね?

そんな忙しい方には、スキル学習と転職サポートが一体となているがオススメ!

しかも、学習サポートも転職サポートも無料で利用できます!

ウズカレITはITスクールのを運営する企業uzuzのサービスだから

体系的かつ総合的に学習サポートを受けることができます。

ITエンジニアはまだまだ売り手市場で、未経験可の求人もたくさんあります。

一度、ウズカレITの無料相談で不安に思ってることなどを相談してみるのがオススメです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次