Pythonでは、関数を呼び出した場合に発生するエラーを例外と呼びます. 例外の一種であるValueError
は、引数の型はあっているけれど誤った値を取っている場合に発生します.
ValueErrorとは
ValueError
は、「関数の引数についてのエラー」です. 関数は引数を渡して実行されることが多いですが、引数を渡していてもその値がおかしいために処理がうまく行かない場合があります. そのような場合には、関数は処理ができないという事態をValueError
を出力することで教えてくれます.
ValueErrorの対処方法
ValueError
が発生する主な原因と対処方法は以下の通りです:
- 数値データのエラー: 数値データ (int型やfloat型)を引数に取る関数に対して、関数が処理できない数値を渡してしまう場合です. この場合は、事前にif文などを用いて引数に渡そうとしている数値が正の数であるか確認しておくとよいでしょう.
- 文字列エラー: 特定の文字列を引数に取る関数に対して、関数が対応できない文字列を渡してしまうなどです. 引数として渡すデータの型は合っていても、値が適切でないことが原因で
ValueError
になります.
ValueErrorのハンドリング処理の実装方法
関数を使う前に確認処理を行っていても、例外が発生してしまう場合があります. 処理を中断させたくない場合などのために、例外処理、ハンドリング処理を実装する方法を解説します. 例外処理はtry-except構文を使い、次のように実装します:
try:
# ValueErrorが起きるかもしれない処理
except ValueError as error:
print(error)
このように実装する事で、エラーが発生した時に任意の処理を行う事ができます. また、例外をキャッチしない場合は例外が発生した時点で処理が中断されてしまいますが、今回のようにキャッチができていると処理を終了せず次の処理に入ります.
以上がPythonでのValueError
のハンドリング方法についての解説です。この記事を読んでいただければ、ValueError
についてと例外の基礎を理解する事ができます.