Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonにおけるエラー処理の基礎:コードクラッシュの防止 | Pythonのエラー処理の習得
Python構造化プログラミング
セクション 2.  1
single

single

bookPythonにおけるエラー処理の基礎:コードクラッシュの防止

メニューを表示するにはスワイプしてください

エラー処理は、予期しない問題に適切に対応できるようにするため、すべてのプログラマーにとって重要なスキルです。本章では、遭遇する可能性のあるエラーや例外の種類と、それらを try および except ブロックを使って処理する方法について解説します。

Pythonにおけるエラーと例外の種類

Pythonでは、エラーを主に2つのタイプに分類します:構文エラーと例外です。

構文エラー

構文エラーは、パーサーが不正な文を検出したときに発生します。これは、タイプミスや括弧の閉じ忘れ、インデントの誤りなどが原因です。以下はその例です:

1
print("Hello world"
copy

これは、閉じ括弧が抜けているため、構文エラー(SyntaxError)となります。

例外または実行時エラー

例外は、実行中に検出されるエラーです。よくある例外には以下のものがあります:

  • IndexError:存在しないインデックスへのアクセス;
  • ValueError:不正な値の引数を渡した場合;
  • TypeError:データ型の不一致(例:文字列と整数の加算など);
  • ZeroDivisionError:ゼロによる除算;
  • FileNotFoundError:存在しないファイルへのアクセス。

以下は、各下位レベルのエラーがその上位のエラーを継承する例外階層です。これは、Exception のような上位レベルの例外を捕捉すると、その派生した「子」エラーもすべて捕捉されることを意味します。すべてのエラーを覚える必要はありませんが、黄色で強調表示されているものは最も一般的であり、特に注意が必要です。

try, except ブロック

例外を効果的に処理するために、Python では tryexcept ブロックを使用します。これにより、エラーが発生してもプログラムを継続できます。

try, except ブロックの例

1234567
try: # 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.")
copy

割り算が可能な場合(つまり、ゼロ以外の数で割る場合)、tryブロック内のprint文が実行され、exceptブロックはスキップされます。exceptブロックは、指定されたエラーが発生したときのみ実行されます。

タスク

スワイプしてコーディングを開始

基本的な操作を用いて、さまざまな種類のエラーを処理するスクリプトを作成してください。

#この課題を解決するためのヒントとしてコメントを活用しましょう 😉

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt