Python の例外処理とエラーの種類は何ですか?

PHPz
リリース: 2023-10-18 12:00:49
オリジナル
791 人が閲覧しました

Python の例外処理とエラーの種類は何ですか?

Python の例外処理とエラーの種類は何ですか?

Python は、強力な例外処理メカニズムを提供する非常に人気のあるプログラミング言語であり、開発者がコード内で発生する可能性のあるエラーをより適切に制御および処理できるようになります。 Python では、例外とはコードの実行中に発生する可能性のある問題やエラーを指します。例外処理は、プログラムのクラッシュや正常な実行の失敗を回避するために、これらの例外を捕捉して処理するために使用されるメカニズムです。

Python では、例外処理は try-exc ステートメント ブロックによって完了します。 try ブロックは例外を発生させる可能性のあるコードを含めるために使用され、Except ステートメント ブロックは発生した例外を処理するために使用されます。以下は簡単な例です:

try:
    x = 5 / 0 # 0作为除数会引发ZeroDivisionError异常
    print(x)
except ZeroDivisionError:
    print("除以0错误")
ログイン後にコピー

上記の例では、try コード ブロックに 0 で除算するコードを配置しています。ここでコードが実行されると、0 で除算すると ZeroDivisionError 例外が発生します。したがって、プログラムは、対応する例外ステートメント ブロックにジャンプして実行されます。例外ブロックでは、「0 による除算エラー」というエラー メッセージが出力されます。

Except ステートメント ブロックを使用して特定の種類の例外を処理することに加えて、1 つのExcept ステートメント ブロックを使用して複数の種類の例外を処理したり、1 つのExcept ステートメント ブロックを使用してすべての未処理の例外を処理したりすることもできます。以下は、複数の例外を処理する例です:

try:
    x = int(input("请输入一个整数:"))
    y = 5 / x
    print(y)
except ValueError:
    print("输入错误,必须输入一个整数")
except ZeroDivisionError:
    print("除以0错误")
except:
    print("其他未知错误")
ログイン後にコピー

上記の例では、最初にユーザーが入力した整数の読み取りを試行します。入力値を整数に変換できない場合は、ValueError 例外が発生します。発生する; 入力値の場合 0 の場合、ZeroDivisionError 例外が発生します; 他の種類のエラーが入力された場合は、最後の例外ステートメント ブロックによって処理されます。最後に、対応するエラー メッセージをそれぞれ出力しました。

上記の 2 つの一般的な例外タイプに加えて、Python は特定のタイプのエラーを処理するための他の多くの組み込み例外タイプも提供します。一般的な例外の種類とその説明をいくつか示します。

  • TypeError: 文字列を整数に追加するなど、互換性のない型の操作中に発生します。
  • IndexError: リスト、タプル、または文字列に存在しないインデックスにアクセスすると発生します。
  • KeyError: 辞書に存在しないキーにアクセスしたときに発生します。
  • FileNotFoundError: 存在しないファイルを開こうとすると発生します。

もちろん、Python の組み込み例外タイプを使用するだけでなく、独自の例外タイプをカスタマイズすることもできます。カスタム例外タイプは Python の組み込み例外タイプから継承できるため、コード内の例外をより適切に整理および管理できます。

要約すると、Python は、プログラムの実行中に発生する可能性のあるエラーを効果的に捕捉して処理できるようにする、強力で柔軟な例外処理メカニズムを提供します。例外処理を適切に使用すると、コードのデバッグと最適化が向上し、コードの安定性と堅牢性が向上します。

以上がPython の例外処理とエラーの種類は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート