1

エラーをトラップして、コードの実行を終了させようとしています。以下のコードでは、「何かを行います」。失敗した場合は、エラー メッセージを出力して、後半の実行を続行します。

何が起こっているかというと、最初のセクションでエラーが発生すると、エラーステートメントが出力され、実行が停止します。最初のセクションを過ぎてもコードを実行し続けたいと思います。

  if len(rows) > 0:
            try:                
                print "Do something"       
            except:
                print time.strftime("%H:%M:%S")  

            try:
                print "Do somethings else"
            except:
                print time.strftime("%H:%M:%S")  
4

2 に答える 2

6

Python の例外には、「後半を実行し続ける」再起動機能が組み込まれていません。代わりに、「無条件、常にこれを行う」部分を try 句から finally 句または try ステートメントの外に完全に移動する必要があります。

PS 通常、すべての例外をそのままの except-clause で飲み込むことはお勧めできません。代わりに、通常のベスト プラクティスは、処理方法がわかっている例外のみをキャッチすることです。

于 2012-05-04T19:21:43.677 に答える
0

「何かをする」が失敗したかどうかをプログラムで判断できますか? もしそうなら、それは例外処理メカニズムに頼るよりも良い方法です。このアンチパターンは、.net コードでよく見られます。多くの言語の例外は、エラー処理だけでなく、例外的な状況を対象としています。

私のように考えるかもしれない人のためにコメントを保存するためだけに答えを保ちます。

于 2012-05-04T19:23:16.623 に答える