PythonでTry–Exceptを最もよく使用する方法-特に初心者のための
Pythonプログラミングでは、例外処理によりプログラマはフロー制御を有効にすることができます。 そして、それはありません。 あなたのコードが壊れた場合にエラーをキャッチするための組み込みの例外の。 Try-exceptを使用することは、予期しないエラーを処理する最も一般的で自然な方法であり、さらに多くの例外処理構造体と一緒に処理します。 このチュートリアルでは、pythonでtry-exceptを使用するための最良のテクニックのいくつかを探ることになります。Pythonでのエラー処理や例外処理は、例外を設定することで強制できます。 Tryブロックを使用すると、例外を実装し、exceptブロック内でエラーを処理できます。 Tryブロック内でコードが中断されるたびに、通常のコードフローが停止し、エラーを処理するためにコントロールがexceptブロックに切り替わります。また、Pythonの例外処理を最初から読んで学習します。なぜTry-Except/Try-Except-else句を使用するのですか? Try-exceptとtry-except-elseの助けを借りて、コードから発生する可能性のある多くの未知の問題を避けることができます。 たとえば、Lbyl(look before you leap)スタイルを使用するPythonコードは、競合状態につながる可能性があります。 ここでは、try-except節があなたを救うために来ることができます。 また、あなたのコードがあなたがそれを受け取るまで時代遅れになる可能性のあるいくつかの情報に批判的に依存する場合があります。 たとえば、osを呼び出すコードです。パス。またはキューが存在します。これらの関数は、使用するまでに古くなったデータを返す可能性があるため、fullは失敗する可能性があります。 ここでの賢明な選択は、上記のケースをより確実に管理するために、コードのtry-except-elseスタイルに従うことです。
例外を発生させることはPythonでも許可されています。 これは、必要なときに例外をスローまたは発生させることができることを意味します。 あなたはあなたのコードから呼び出すだけでそれをすることができます。 一度発生すると、例外は通常どおり現在の実行を停止し、処理されるまで呼び出しスタック内でさらに上がります。なぜ例外を使用するのですか?
なぜ例外を使用するのですか? 競合状態のような一般的な問題の解決に役立つだけでなく、ループ、ファイル処理、データベース通信、ネットワークアクセスなどの分野でのエラーの制御にも
したがって、この記事ではより広範な問題をカバーし、解決策を提供します。 例外処理は、堅牢で品質の高いコードを書くための巨大な力をもたらす芸術であることに注意してください。 だから、それらを処理するための最良の方法と一緒に例外に関するいくつかの基調講演を読むためにブレース。読む必要があります–Pythonのコピーファイルについて知っておくべきすべて。
Python
Python: Try-Except、Try-Except-Elseなどを使用するためのヒント
- 任意の例外を処理する方法
- 一つのExceptブロックで複数の例外をキャッチ
- 一つのExceptブロックで複数の例外を処理
- pythonで例外を再発生させる
- else句を使用する場合
-
- を利用する
- asキーワードを使用して特定の例外タイプをキャッチする
- 手動で発生させるためのベストプラクティス 例外
- エラーをスキップして実行を続行する方法
- Pythonで最も一般的な例外エラー
- Pythonで最も一般的な例外の例
1. 任意の例外を処理する方法
場合によっては、任意の例外を許可する方法が必要になり、エラーまたは例外メッセージを表示できるようにする必要
Pythonの例外を使用して簡単に達成できます。 以下のコードを確認してください。 テスト中に、以下の例のtryブロック内にコードを配置できます。
try: #your codeexcept Exception as ex: print(ex)
トップに戻る
2. 一つのexceptブロックで複数の例外をキャッチする
単一のexceptブロックで複数の例外をキャッチすることができます。 以下の例を参照してください。Python2.6/2.7で適用可能なカンマで変数から例外を区切ることができることに注意してください。 しかし、あなたはPython3でそれを行うことはできません。 だから、あなたはキーワードを使用することを好むべきです。
トップに戻る
3. ブロックを除く1つで複数の例外を処理する
複数の例外を処理する方法はたくさんあります。 それらの最初のものは、タプルの形で発生する可能性のあるすべての例外を配置する必要があります。 下記からご覧ください。
try: file = open('input-file', 'open mode')except (IOError, EOFError) as e: print("Testing multiple exceptions. {}".format(e.args))
次の方法は、専用のexceptブロック内の各例外を処理することです。 必要に応じて、ブロック以外の数を追加できます。 以下の例を参照してください。p>
try: file = open('input-file', 'open mode')except EOFError as ex: print("Caught the EOF error.") raise exexcept IOError as e: print("Caught the I/O error.") raise ex
最後ではありませんが、例外属性を言及せずにexceptを使用することです。このメソッドは、プログラムによってスローされる可能性のある例外についての手掛かりがない場合に便利です。
トップに戻る
4. Pythonで例外を再発生させる
一度発生した例外は、処理されるまで呼び出しメソッドに移動し続けます。 引数なしで呼び出しを行うことができるexcept句を追加することはできますが。 それは例外を再発生させることになります。p>
以下のコード例を参照してください。
出力:
Entered in except.Traceback (most recent call last): File "python", line 3, in <module>Exception: I learn Python!
トップに戻る
5. Else句を使用する場合
try-exceptブロックの直後にelse句を使用します。 Else句は、例外がスローされない場合にのみヒットします。 Elseステートメントは、常にexceptブロックの前に置く必要があります。elseブロックでは、エラーが発生しなかったときに実行したいコードを追加できます。
以下の例を参照してください。 このサンプルでは、whileループが無限に実行されているのを見ることができます。 コードはユーザー入力を要求し、組み込み関数を使用して解析しています。 ユーザーがゼロ値を入力すると、exceptブロックがヒットします。 それ以外の場合、コードはelseブロックを流れます。
while True: # Enter integer value from the console. x = int(input()) # Divide 1 by x to test error cases try: result = 1 / x except: print("Error case") exit(0) else: print("Pass case") exit(1)
トップに戻る
6. すべての状況で実行したいコードがある場合は、
を使用して、その中に記述してください。 Pythonは常にでコード化された命令を実行します。 これは、クリーンアップタスクを行う最も一般的な方法です。 また、クリーンアップが通過することを確認することができます。
try句によってエラーがキャッチされます。 Exceptブロックのコードが実行された後、その命令が実行されます。あなたがそれより前に戻ってきたとしても、aは常に実行されることに注意してください。
あなたが戻ってきたとしても、aは常に実行されま
以下の例を参照してください。p>
try: # Intentionally raise an error. x = 1 / 0except: # Except clause: print("Error occurred")finally: # Finally clause: print("The is hit")
出力:h4>
Error occurredThe is hit
トップに戻る
7. Asキーワードを使用して特定の例外タイプをキャッチします
as<>の助けを借りて、新しいオブジェク また、例外オブジェクトもできます。 ここでは、以下の例では、IOErrorオブジェクトを作成し、それを句内で使用しています。
出力:
('Error:', IOError(2, 'No such file or directory'))('Code:', 2)
トップに戻る
8. 例外を手動で発生させるためのベストプラクティス
一般的な例外を発生させないようにするには、他のすべてのより具体的な例外もキャッ したがって、ベストプラクティスは、問題の近くで最も具体的な例外を発生させることです。
悪い例です。H4>
出力:
Inside the except block: ValueError('Intentional - do not want this to get caught',)
ベストプラクティス:
ここでは、一般的な例外ではなく、特定のタイプの例外を発生させています。 また、argsオプションを使用して、誤った引数があれば出力しています。 以下の例を見てみましょう。
try: raise ValueError('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four') except ValueError as err: print(err.args)
出力:
('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four')
トップに戻る
9. エラーをスキップして実行を続行する方法
理想的には、これを行うべきではありません。 しかし、それでもやりたい場合は、以下のコードに従って正しいアプローチをチェックしてください。
try: assert Falseexcept AssertionError: passprint('Welcome to Prometheus!!!')
出力:
Welcome to Prometheus!!!
トップに戻る
ここで、最も一般的なPythonの例外とその例を見てみましょう。
最も一般的な例外エラー
- IOError–ファイルが開かないなどのエラーで発生します。
- ImportError–pythonモジュールをロードまたは配置できない場合。ValueError-関数が正しい型の引数を取得したが、不適切な値を取得した場合に発生します。
- KeyboardInterrupt–ユーザーが割り込みキー(Control-CまたはDelキー)を入力したときにヒットします
- EOFError–入力関数(input()/raw_input())がファイルの終わり条件(EOF)にヒットしたが、データを読み取
トップに戻る
最も一般的な例外の例
except IOError:print('Error occurred while opening the file.')except ValueError:print('Non-numeric input detected.')except ImportError:print('Unable to locate the module.')except EOFError:print('Identified EOF error.')except KeyboardInterrupt:print('Wrong keyboard input.')except:print('An error occurred.')
トップに戻る
概要–PythonでTry-Exceptを最適に使用する方法
プログラミング中、エラー それは誰も無視することはできません事実です。 そして、悪いユーザー入力、不十分なファイル権限、ネットワークリソースの使用不能、不十分なメモリまたは最も可能性の高いプログラマの間違いのようなエとにかく、あなたのコードが例外処理を使用し、try-except、tr-except-else、try-except-finallyのような構造でそれを実装する場合、これはすべて処理できます。 希望、あなたは上記のチュートリアルを読んで楽しんでいるだろう。あなたが投稿を好きなら、友人やソーシャルメディア(facebook/twitter)でそれを共有することをお見逃しなくしてください。
あなたが投稿を好きなら、それをお見逃しなく。
あなたが投稿を好きなら、
最高の、
TechBeamers。p>