小さなパートナーを書き込むためのPythonのコードは、必然的にコード実行エラーと例外が発生し、この人気の集計] Pythonのエラーと例外の詳細を失うことなくなります。
二つの質問を投げるには:
-
Pythonのエラーと例外とは何ですか?
-
Pythonはどのようにエラーと例外を処理するには?
1、構文エラー
構文エラーは、 最も頻繁に遭遇初心者、次のような身近な画像であってもよいです。
<span>の<スパンのスタイル= "フォントサイズ:15ピクセル;">でSyntaxError:無効な構文</ span>を</ span>を
また、エラーを解析として知られている構文エラーは、他の兄弟が間違っ決意が何であるかを尋ねるでしょうか?
ループは追加していないため、単一の行にマルチタスク「:」とその上の簡単な言葉でそのように、基本的な文法構造を間違っています。
次のとおりです。
一行の中にマルチタスク
ループは、のために増加しませんでした「:」
上記の例では、文法の誤り、ラインのPythonのパーサの出力誤差のために、見ることができ、間違った場所に矢印マークが最初に見つかりました。
図2に示すように、異常な
Pythonの構文に精通した後、構文エラーを回避することができるが、コードは、多くの場合、異常である (例外)。
または二つの問題:
-
異常は何?
Pythonの 例外オブジェクト (例外オブジェクト)が異常を示すことができます。
エラーが発生した後、例外がスローされます。
例外オブジェクトが処理されるか、または捕獲されていない場合、プログラムは、いわゆる使用します バック (トレースバック、間違った情報)を終了しました。
-
異常や文法の誤りが、それはどのような違いを生むのでしょうか?
エラー:これは、インタプリタやコンパイラの構文に準拠していないコードを参照
例外:それは不完全な、無効な入力または計算誤差を指し
例えば約異常:
<span>の<スパンのスタイル= "フォントサイズ:15ピクセル;">印刷( 'こんにちは世界')</ span>を</ span>を
この行は、小文字のpを印刷するのでべき、異常があらわれました:
パイソンスロータイプ:NameErrorが、それは間違った名前です。
他の例外の例:
私たちは、異常な異なるタイプの例外が発生した後、型の名前が印刷されます、ありますが、見ることができます。これらは、内蔵された例外のpythonあり、ユーザーはまた、異常、ここで詳述されていないをカスタマイズすることができます。
3、してみてください...除いて...声明
そこPythonプログラミングの経験は、内部のpython知っている 試みを...除いて... ハンドルの例外への声明。
例外処理の例を見て:
ルック、我々は完全に異常なプログラムをキャプチャしています。
例えば、例外処理ルールの上方結合:tryブロック内のステートメントを実行し、コードブロック以外のプロセッサのエラーコードは、思い出させるために例外ZeroDivisionErrorコーダをスロー以外は、エラーコードがゼロでありますない配当として。
バックには、例外タイプを追加することはできませんを除くすべての例外が発生キャッチします。
私たちはすることができます 以外... ...しようと いくつかのポイントにまとめた原則:
-
まず、try節((ステートメント)の試行間およびキーワードを除く複数行)
-
例外が発生しなければ、except節をスキップしてtry文の実行を完了しています
-
例外はtry節の実行中に発生した場合、残りの部分はスキップされます。その後、例外と例外の種類は、キーワード以外の背後に一致した場合、コードの後に、except節が実行され、その後、声明をしようと進んで
-
異常が指定された異常と一致しない句を除いて発生した場合、それはtry文の外部に転送され、ハンドラが置かれていなかった場合、それは未処理の例外があり、実行が停止し、表示されたメッセージは、上に示しました
句複数除く4、
上記の 試み...除いて... 文でのみ、私は例外のいくつかのタイプよりも多く一致させたい場合は、どのようにそれを行うには、例外を扱いますか?
ここでは、必要な 句を除く1以上 例えば、ヘルプに:
例外がスローされZeroDivisionError
TypeError例外がスローされます
私たちはZeroDivisionErrorとTypeError例外これらの2つの例外を除いて一致2を使用の上、ZeroDivisionError、コードキャプチャTypeError例外の第二段落をキャプチャする最初のコードは、汚染されていませんでした。
もちろん、あなたも書くことができます。
それはタプル以外のタイプの後ろに捕捉異常な変化を複数使用することである除きます。
次のように要約すると、except節つ以上のために、それは要約することができます。
-
try
文は、手続きを扱う別の例外を指定するには、より多くの句を除いて1よりも持っていること -
大半は、ハンドラが実行されます
-
try節に対応する唯一の例外ハンドラ・プロセスは、同じ処理せずに発生した
try
別のハンドラ内で例外ステートメントを -
句以外異常複数の括弧内のタプルと命名することができます
5、電子などの例外を除いて...してみてください语句
私たちはしばしば、このような文言を見て:
してみてください...電子などの例外を除き、
eは、それがどういう意味を表しどこ?
別の例:
一例としては、電子出力例外タイプを知ることができます。
言い換えれば、 例外はすべての例外、Eに割り当てられた例外名と一致します 。もちろん、これはあなたが任意の変数名を取ることができ、電子である必要はありませんが、より一般的に知られている書き込み何にも合意しました。
6、してみてください...除いて... finally文
それほど一般的ではないかもしれない以外... finally文...試みるが、それは非常に便利です。
私のpythonでTXTファイルを開きたい場合は、読み込み、書き込み、そして最終的に近いファイルオブジェクト。私は、プロセス中に例外コードをキャッチするために、だけでなく、例外があるかどうかを確認するために、最終的にファイルを閉じる必要がありますしたい場合、これは、通常のプロセスです。
それが最終的に使用されている。この時、次の例を見て:
上記のコードは、両方のキャッチ例外は、最終的にはファイルオブジェクトを閉じました。
役割はfinalyかかわらず、例外がキャッチされ除くかどうかの、最終的に戻ってコードが実行される、ことを、最終的に最後の仕上げを確保するためのリソースを解放し、リソースを取得してみてください。
7、と...声明
文はのtry-finally文の省略形ですと...、あなたは、try-ようやくの機能を置き換えることができます。
式オープン(「poem.txt」)戻り値は、タイプ_io.TextIOWrapper fの変数に割り当てられています。
あなたは、変数の操作文ブロックと、このファイルを使用することができます。
このように構成された実行後、F閉じ、自動的に最終的には相当が付属しています。
8、要約
この記事で詳しく説明し、明確にPythonで概念を説明し、エラーと例外の処理、特定の使用トライを示す...除いて、試して...最終的には、特定のケースを通してを持つ...などの文章、ヘルプを望んで混乱初心者です