問題タブ [try-finally]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
509 参照

delphi - begin/end の代わりに try/finally try/except を使用することは悪い習慣と見なされますか、それとも欠点がありますか?

私が管理しているいくつかのアプリの多くの場所で、begin/end の使用を回避するor文でtry/finallyortry/exceptブロックを使用するコードを見つけました。for loopif

次のコードを検討してください (本番コードではなく、単なるサンプルです)

質問、デルファイで begin/end の代わりに try/finally または try/except を使用すると、悪い習慣、コードの匂い、または欠点が存在すると見なされますか?

アップデート

ばかげたサンプル コードで申し訳ありませんが、try/finally と try/except を明確にするためだけに begin/end を置き換えるふりをしません。 try/finally または try/except の開始/終了は必要ありません。

0 投票する
3 に答える
15321 参照

python - Python: ループ内の try-finally ステートメントで continue を使用する

次のコードになります:

常に「10 秒待っています...」というメッセージを出力し、10 秒間スリープして、もう一度実行しますか? finallyつまり、ループがcontinue-edの場合でも、句内のステートメントは実行されますか?

0 投票する
6 に答える
1147 参照

c# - catch の代わりに finally を使用する

私はこのパターンを数回見ました:

そして、私は疑問に思っていました: ロールバックに catch を使用するよりもなぜこれが優れているのですか?

失敗時に変更を確実にロールバックする 2 つの方法の違いは何ですか?

0 投票する
3 に答える
3853 参照

java - tryおよびfinallyを使用した同期メソッドの動作

次の方法を想定します。

returnステートメントの後でもfinallyブロックが実行されることを理解しています。戻り値を「オーバーライド」することもできます。しかし、私の質問は、メソッドはreturnステートメントの後で、または最後にロック解除されるのでしょうか?

0 投票する
3 に答える
124 参照

c# - Finalブロック内の戻り値のテスト

すべて、これは単純なものです。finally実行せずにブロック内の戻り値をテストする方法はありますか

resultよりクリーンな方法はありますか?の変数を使用する必要がありますか?

注:これは、私が現在行っていることを行うための多くの作業ではないことを認識しています。.NETの世界の複雑さに興味があります。

0 投票する
17 に答える
167828 参照

python - Pythonで「finally」句が必要なのはなぜですか?

なぜステートメントが必要なfinallyのかわかりません。try...except...finally私の意見では、このコードブロック

を使用してこれと同じfinallyです:

私は何かが足りないのですか?

0 投票する
2 に答える
4639 参照

python - Pythonで「finally」句を使用する範囲は何ですか?

重複の可能性:
else の目的と最後に例外処理で

ステートメントにfinally条項が存在する理由を理解したいと思います。try/except私はそれが何をするかを理解していますが、それが言語の場所に値する場合、明らかに何かが欠けています。finally具体的には、節をフィールドに書くことと、try/exceptステートメントの外に書くことの違いは何ですか?

0 投票する
2 に答える
298 参照

java - トライ、キャッチ、最後に実行

重複の可能性:
finally ブロックで例外をスローする

  • catch ブロックは、try ブロックで例外がスローされた場合にのみ実行されます。

  • 例外がスローされたかどうかにかかわらず、finally ブロックは常に try(-catch) ブロックの後に実行されます。

私の質問は、それを処理する方法よりも、最終ブロックで例外が発生した場合です?????

0 投票する
5 に答える
3106 参照

c# - 試行後に最終的に呼び出されない

コンソール アプリケーション内で何らかの理由で、finally ブロックを実行できません。finally ブロックがどのように機能するかをテストするためにこのコードを書いていたので、非常に簡単です。

最初はここで説明した問題がありましたが、Visual Studio の外でプログラムを実行しようとすると、「プログラムが応答を停止しました」というエラーが発生しました。

0 投票する
8 に答える
264 参照

java - Javaでは、finallyブロックで複数のメソッドが呼び出されるようにする方法はありますか?

だから私はtry/finallyブロックを持っています。finallyブロックでいくつかのメソッドを実行する必要があります。ただし、これらのメソッドはそれぞれ例外をスローする可能性があります。ネストされたfinallyブロックなしで、これらすべてのメソッドが呼び出される(または試行される)ことを保証する方法はありますか?

これは私が今していることです、それはかなり醜いです:

これを行うためのよりエレガントな方法はありますか?