single
Pythonにおけるエラー処理の基礎:コードクラッシュの防止
メニューを表示するにはスワイプしてください
エラー処理は、予期しない問題に適切に対応できるようにするため、すべてのプログラマーにとって重要なスキルです。本章では、遭遇する可能性のあるエラーや例外の種類と、それらを try および except ブロックを使って処理する方法について解説します。
Pythonにおけるエラーと例外の種類
Pythonでは、エラーを主に2つのタイプに分類します:構文エラーと例外です。
構文エラー
構文エラーは、パーサーが不正な文を検出したときに発生します。これは、タイプミスや括弧の閉じ忘れ、インデントの誤りなどが原因です。以下はその例です:
1print("Hello world"
これは、閉じ括弧が抜けているため、構文エラー(SyntaxError)となります。
例外または実行時エラー
例外は、実行中に検出されるエラーです。よくある例外には以下のものがあります:
- IndexError:存在しないインデックスへのアクセス;
- ValueError:不正な値の引数を渡した場合;
- TypeError:データ型の不一致(例:文字列と整数の加算など);
- ZeroDivisionError:ゼロによる除算;
- FileNotFoundError:存在しないファイルへのアクセス。
以下は、各下位レベルのエラーがその上位のエラーを継承する例外階層です。これは、Exception のような上位レベルの例外を捕捉すると、その派生した「子」エラーもすべて捕捉されることを意味します。すべてのエラーを覚える必要はありませんが、黄色で強調表示されているものは最も一般的であり、特に注意が必要です。
try, except ブロック
例外を効果的に処理するために、Python では try と except ブロックを使用します。これにより、エラーが発生してもプログラムを継続できます。
try, except ブロックの例
1234567try: # Attempt to divide by zero result = 10 / 0 print("The result is", result) except ZeroDivisionError: # This code runs if the ZeroDivisionError is raised print("Attempted to divide by zero.")
割り算が可能な場合(つまり、ゼロ以外の数で割る場合)、tryブロック内のprint文が実行され、exceptブロックはスキップされます。exceptブロックは、指定されたエラーが発生したときのみ実行されます。
スワイプしてコーディングを開始
基本的な操作を用いて、さまざまな種類のエラーを処理するスクリプトを作成してください。
#この課題を解決するためのヒントとしてコメントを活用しましょう 😉
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください