Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Exceptionsはランタイムエラーですか?


すべてのPython例外は実行時エラーではなく、構文エラーもあります。

指定されたコードを実行すると、次の出力が得られます。

File "C:/Users/TutorialsPoint1/~.py", line 4
else:
^
SyntaxError: invalid syntax

これは構文エラーであり、実行時エラーではないことがわかります。

プログラムのエラーや不正確さは、バグと呼ばれることがよくあります。エラーを見つけて削除するプロセスは、デバッグと呼ばれます。エラーは、次の3つの主要なグループに分類できます。

  1. 構文エラー2.ランタイムエラーおよび3.論理エラー

構文エラー

Pythonは、プログラムを解析しようとするとこれらの種類のエラーを検出し、何も実行せずにエラーメッセージを表示して終了します。構文エラーは、英語などの言語でのスペルや文法の間違いのようなものです。

実行時エラー

プログラムに構文エラーがない場合は、Pythonインタープリターによって実行されます。ただし、実行時エラーが発生した場合、プログラムは終了する可能性があります。この問題は、プログラムの解析時に検出されなかったものの、コードが実行されたときにのみ明らかになります。

Pythonランタイムエラーの例-

  • ゼロ除算
  • 互換性のないタイプで操作を実行する
  • 定義されていない識別子を使用する
  • 存在しないリスト要素、ディクショナリ値、またはオブジェクト属性にアクセスする
  • 存在しないファイルにアクセスしようとしています


  1. 最新のPythonでカスタム例外を宣言する方法は?

    何かをオーバーライドしたり、例外に追加の引数を渡したりするには、最新のPythonで次のようにします。 class ValidationError(Exception): def __init__(self, message, errors): super(ValidationError, self).__init__(message) self.errors = errors そうすれば、エラーメッセージの辞書を2番目のパラメータに渡し、後で必要に応じてそのパラメータにアクセスできます。

  2. Pythonでの例外処理のベストプラクティスは何ですか?

    Pythonでの例外処理のベストプラクティスのいくつかを以下に示します。 例外は、エラーステータスコードを返すよりも優れています。言語コア全体と標準ライブラリが例外をスローするため、Pythonで例外を処理する必要があります。エレガントに処理された例外は、エラーコードやトレースバックよりもいつでも望ましいです。 フロー制御に例外を使用しないのが賢明です。 例外は、通常の実行の一部ではない例外的な状況で発生します。 パターンが見つからない場合は-1を返す文字列の「find」を検討してください。ただし、文字列の終わりを超えてインデックスを作成すると、例外が発生します。文字列が見つからないの