問題タブ [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.
delphi - begin/end の代わりに try/finally try/except を使用することは悪い習慣と見なされますか、それとも欠点がありますか?
私が管理しているいくつかのアプリの多くの場所で、begin/end の使用を回避するor文でtry/finally
ortry/except
ブロックを使用するコードを見つけました。for loop
if
次のコードを検討してください (本番コードではなく、単なるサンプルです)
質問、デルファイで begin/end の代わりに try/finally または try/except を使用すると、悪い習慣、コードの匂い、または欠点が存在すると見なされますか?
アップデート
ばかげたサンプル コードで申し訳ありませんが、try/finally と try/except を明確にするためだけに begin/end を置き換えるふりをしません。 try/finally または try/except の開始/終了は必要ありません。
python - Python: ループ内の try-finally ステートメントで continue を使用する
次のコードになります:
常に「10 秒待っています...」というメッセージを出力し、10 秒間スリープして、もう一度実行しますか? finally
つまり、ループがcontinue
-edの場合でも、句内のステートメントは実行されますか?
c# - catch の代わりに finally を使用する
私はこのパターンを数回見ました:
そして、私は疑問に思っていました: ロールバックに catch を使用するよりもなぜこれが優れているのですか?
失敗時に変更を確実にロールバックする 2 つの方法の違いは何ですか?
java - tryおよびfinallyを使用した同期メソッドの動作
次の方法を想定します。
returnステートメントの後でもfinallyブロックが実行されることを理解しています。戻り値を「オーバーライド」することもできます。しかし、私の質問は、メソッドはreturnステートメントの後で、または最後にロック解除されるのでしょうか?
c# - Finalブロック内の戻り値のテスト
すべて、これは単純なものです。finally
実行せずにブロック内の戻り値をテストする方法はありますか
result
よりクリーンな方法はありますか?の変数を使用する必要がありますか?
注:これは、私が現在行っていることを行うための多くの作業ではないことを認識しています。.NETの世界の複雑さに興味があります。
python - Pythonで「finally」句が必要なのはなぜですか?
なぜステートメントが必要なfinally
のかわかりません。try...except...finally
私の意見では、このコードブロック
を使用してこれと同じfinally
です:
私は何かが足りないのですか?
python - Pythonで「finally」句を使用する範囲は何ですか?
重複の可能性:
else の目的と最後に例外処理で
ステートメントにfinally
条項が存在する理由を理解したいと思います。try/except
私はそれが何をするかを理解していますが、それが言語の場所に値する場合、明らかに何かが欠けています。finally
具体的には、節をフィールドに書くことと、try/except
ステートメントの外に書くことの違いは何ですか?
java - トライ、キャッチ、最後に実行
重複の可能性:
finally ブロックで例外をスローする
catch ブロックは、try ブロックで例外がスローされた場合にのみ実行されます。
例外がスローされたかどうかにかかわらず、finally ブロックは常に try(-catch) ブロックの後に実行されます。
私の質問は、それを処理する方法よりも、最終ブロックで例外が発生した場合です?????
c# - 試行後に最終的に呼び出されない
コンソール アプリケーション内で何らかの理由で、finally ブロックを実行できません。finally ブロックがどのように機能するかをテストするためにこのコードを書いていたので、非常に簡単です。
最初はここで説明した問題がありましたが、Visual Studio の外でプログラムを実行しようとすると、「プログラムが応答を停止しました」というエラーが発生しました。
java - Javaでは、finallyブロックで複数のメソッドが呼び出されるようにする方法はありますか?
だから私はtry/finallyブロックを持っています。finallyブロックでいくつかのメソッドを実行する必要があります。ただし、これらのメソッドはそれぞれ例外をスローする可能性があります。ネストされたfinallyブロックなしで、これらすべてのメソッドが呼び出される(または試行される)ことを保証する方法はありますか?
これは私が今していることです、それはかなり醜いです:
これを行うためのよりエレガントな方法はありますか?