予期せぬ入力や挙動が起きたとき、エラーが出てプログラムが止まると大変です。
通常処理(普通の動き)と異常処理(予期せぬ動き)を切り替える方法としてtry/except文を組み込んでおくことは大切です。
【構文】
try:
<例外の発生する可能性を含む実施したい処理>
except <例外名>:
<例外発生時の処理>
まず、try:を書きます。
次に字下げして、<例外の発生する可能性を含む実施したい処理>にエラーが発生しそうだなと思う処理を入れておきます。
何もエラーが起きなければ通常通りの動作を行ってくれます。
except:では<例外名>を書かなくても良いです。
しかし、代表的なエラーがあるのでエラーの起きるパターンが決まっているならば以下を使うと便利です。
NameError :値が定義されていない変数を使った場合に発生する例外。変数に値が入っていないとエラーが起こる。
ZeroDivisionError :数値を0で割った時の発生する例外。0で割ることは不可能(無限大)になるためエラーが起こる。
TypeError :型が異なるオブジェクト同士を処理しようとする時に発生する例外。文字列を数値が混ざった計算などでエラーが起こる。
ValueError :型変換ができなかった時に発生する例外。int()やfloat()を使って数値変換しようとしたが、変換元が文字列(例:10A)だった場合エラーが起こる。
IndexError :文字列やリストから、存在しない値を取り出そうとした時に発生する例外。要素が存在しない、リストが空の場合にエラーが起こる。