問題タブ [throw]

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 投票する
6 に答える
1177 参照

c++ - 「void func() throw(type)」のポイントは?

これが有効な C++ プログラムであることはわかっています。関数宣言のスローのポイントは何ですか? 私の知る限り、それは何もせず、何にも使用されていません。

0 投票する
1 に答える
782 参照

castle-windsor - Castle Windsor ResolveAll は、登録されたサービスのいずれかを解決できない場合にスローします

Castle Windsor (2.0) メソッドの現在の動作は

依存関係がないために解決できないすべてのサービスを無視することです。すべてのサービスを解決するための推奨される方法 + サービスを解決できない場合に例外をスローする方法は何ですか?

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

php - PHPでの例外のキャッチ構文エラー

if-then-else複数のブロックを回避する方法として、PHPで例外を使用しようとしています。ただし、例外をキャッチしようとすると、エラーが発生しますParse error: syntax error, unexpected T_CATCH in /directory/functions.php on line 66。投げたり捕まえたりするのに何か問題がありますか?

0 投票する
7 に答える
5867 参照

c# - 直接スローする代わりに、ThrowHelper メソッドを使用する必要があるのはいつですか?

直接スローする代わりに、 ThrowHelperメソッドを使用するのが適切なのはどのような場合ですか?

直接スローする代わりに、 ThrowHelperメソッド (例外をスローすることのみを目的としたメソッド)を呼び出すと、より小さなバイトコードが生成されるはずであると読みました。

これと、明らかなカプセル化 (間接的な別のレイヤー) は、少なくともいくつかのシナリオでは、直接スローしない十分な理由になる可能性があります。

とにかく、IMO の欠点も重要ではありません。

  • (例外的な) 制御フローの一部が隠されています
  • 例外は、より不可解なスタックトレースを持つことになります
  • コンパイラ (2.0) は、ThrowHelper呼び出しがメソッドからの終了ポイントであることを認識しないため、何らかのコード アラウンドが必要です。

私の限られた経験では、全体的な設計が悪化することがよくあります。

これは部分的に個人的な好みの問題かもしれません。とにかく、この問題に関するあなたの個人的なガイドラインは何ですか? メソッド パラメーターの検証 ( ThrowArgumentNullException(paramName)など) などの一般的なタスクすべてに、 ThrowHelpersを使用することをお勧めしますか? この問題について明らかな何かが欠けていますか?

ところで、この問題と検証の問題を混同しないようにしています。たとえば、次のような方法です。

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

c++ - C++でポインタによる例外をキャッチ

例外をキャッチする方法は3つあることがわかりましたが、違いは何ですか?

1)値でキャッチします。

2)参照によるキャッチ。

3)ポインタでキャッチします。

値によるキャッチはオブジェクトの2つのコピーを呼び出し、参照によるキャッチは1つを呼び出すことだけを知っています。では、ポインタによるキャッチはどうですか?ポインタによるキャッチをいつ使用するのですか?オブジェクトをスローすることに加えて、このようなオブジェクトへのポインターをスローできますか?

0 投票する
1 に答える
638 参照

ruby-on-rails - rake:未定義のパラメータを処理する最良の方法は?

と呼ばれる1つのパラメーターを必要とするRailsアプリにrakeタスクがありますUSER_ID

実行を停止する例外をスローしたいと思います。これは私のタスクがどのように見えるかです:

どのコードが続きTHROW SOMETHING HEREますか?

0 投票する
1 に答える
1002 参照

c++ - 参照によってキャッチされたスローオブジェクトの寿命

C ++標準、パラグラフ15.1.4は次のように述べています。

スローされる例外の一時コピー用のメモリは、3.7.3.1に記載されている場合を除き、不特定の方法で割り当てられます。その例外に対して実行されているハンドラーがある限り、一時は存続します。

なぜこのコードがクラッシュするのか疑問に思っています(ベストプラクティスではないことはわかっています):

具体的には、スローされたmagicExceptionオブジェクトのデストラクタがcatchブロックの前に呼び出されます。ただし、コピーコンストラクターをクラスに追加すると、次のようになります。

次に、コードが機能し、デストラクタが予期された場所(catchブロックの終わり)で呼び出されますが、興味深いことに、コピーコンストラクタはまだ呼び出されません。コンパイラー(最適化がオフになっているVisual C ++ 2008)によって最適化されていますか、それとも何かが足りませんか?

0 投票する
1 に答える
130 参照

c++ - 関数ヘッダーまたは宣言だけで例外タイプを指定する必要がありますか? (C++)

私の SVector.cpp ファイルには、throw (underflow_error) 部分も含める必要がありますか?

また

ありがとう。

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

c++ - 終了が呼び出されたときに自動オブジェクトのデストラクタが呼び出されますか?

throwデストラクタから私たちがいるとどうなりますか?私はそれterminate()が呼び出されることを知っています、そしてメモリは確かに解放されてデストラクタが呼び出されます、しかし、これはから呼び出される前ですか、それとも後 ですか?おそらくここでの問題は、スタックが巻き戻されている間に使用されることであり、それが問題です。throwfoothrow

0 投票する
1 に答える
15343 参照

c++ - catch 省略記号 (...) 内でスローすると、C++ で元のエラーが再スローされますか?

私のコードに次のスニペットがある場合:

デフォルトの省略記号ハンドラーによってキャッチされた特定の例外をスローが再スローしますか?