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

Pythonのtry-finally句


最終的にを使用できます :試してと一緒にブロックする : ブロック。 finallyブロックは、tryブロックで例外が発生したかどうかに関係なく、実行する必要のあるコードを配置する場所です。 try-finallyステートメントの構文は次のとおりです-

try:
   You do your operations here;
   ......................
   Due to any exception, this may be skipped.
finally:
   This would always be executed.
   ......................

else句をfinally句と一緒に使用することはできません。

#!/usr/bin/python
try:
   fh = open("testfile", "w")
   fh.write("This is my test file for exception handling!!")
finally:
   print "Error: can\'t find file or read data"

出力

書き込みモードでファイルを開く権限がない場合、次の結果が生成されます-

Error: can't find file or read data

同じ例を次のようにすっきりと書くことができます-

#!/usr/bin/python
try:
   fh = open("testfile", "w")
   try:
      fh.write("This is my test file for exception handling!!")
   finally:
      print "Going to close the file"
      fh.close()
except IOError:
   print "Error: can\'t find file or read data"

tryブロックで例外がスローされると、実行はすぐにfinallyブロックに渡されます。 finallyブロック内のすべてのステートメントが実行された後、例外が再度発生し、try-exceptステートメントの次の上位層に存在する場合はexceptステートメントで処理されます。


  1. Pythonのファイルオブジェクト?

    Pythonでは、ファイルの読み取りまたは書き込みを試みるたびに、ライブラリがネイティブに処理されるため、ライブラリをインポートする必要はありません。 最初に行うことは、組み込みのopen関数を使用してファイルオブジェクトを取得することです。 open関数はファイルを開き、ファイルオブジェクトを返します。ファイルオブジェクトには、情報を取得したり、開いたファイルを操作したりするために使用できるメソッドと属性が含まれています。 ファイルとは何ですか? ファイルに対して操作を行う前に、まずファイルとは何かを理解しましょう。ファイルは、関連情報を保存するためのディスク上の名前付きの場所です。フ

  2. Pythonで例外なしで「except句」を使用するにはどうすればよいですか?

    例外なしでexcept句を定義すると、すべてのタイプの例外を処理できます。ただし、これは優れたコーディング手法でも推奨されるものでもありません。 例 try: print 'foo'+'qux'+ 7 except: print' There is error' 出力 出力を取得します There is error このタイプのPythontry-exceptブロックはすべてのタイプの例外を処理できますが、発生した例外のタイプを見つけることはプログラマーにとって役に立ちません。