問題タブ [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 投票する
5 に答える
6797 参照

c# - C#: 例外を発生またはスローしますか?

これはおそらく実際には問題ではないことはわかっていますが、何が正しいのか知りたいです。

コードに何らかのバージョンのthrow new SomeKindOfException(). このコードは潜在的に例外を発生させる可能性があると言えますか? または例外をスローしますか?

キーワードはthrowですので、どちらかというとそちらに傾いていますが、例外を発生させることもよく使われます...

それらは何らかの異なる意味を持っていますか?それらの1つは、他のものとの違いを暗示していますか? それとも、まったく同じことを意味する 2 つの単語だけですか?

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

c++ - C++ で例外をスローできる関数を呼び出すデストラクタ

デストラクタから例外をスローしてはならないことはわかっています。

デストラクタが例外をスローできる関数を呼び出した場合、デストラクタでそれをキャッチし、それ以上スローしなくても問題ありませんか? それとも、とにかくアボートを引き起こす可能性があり、デストラクタからそのような関数を呼び出すべきではありませんか?

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

c++ - C++ で、throw が式の場合、その型は何ですか?

私はこれを reddit への私の短い進出の 1 つで拾いました:

http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/

基本的に、著者は C++ で次のように指摘しています。

は表現です。これは実際には、C++ 標準の本文と文法の両方でかなり明確に記述されています。しかし、(少なくとも私には)明確ではないのは、式のタイプは何ですか?私は " " と推測voidしましたが、g++ 4.4.0 と Comeau を少し試してみると、次のコードが得られました。

コンパイラは //1 には問題がありませんでしたが、条件演算子の型が異なるため、//2 にバーフィードしました。したがって、式の型はthrowvoid ではないようです。

それで、それは何ですか?

回答する場合は、基準からの引用を使用してステートメントをバックアップしてください。


これは、throw 式の型ではなく、条件演算子が throw 式をどのように処理するかということであることが判明しました。これについては、今日までまったく知りませんでした。返信してくれたすべての人、特に David Thornley に感謝します。

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

java - インターフェイスで定義されていない例外をスローする

実装しているインターフェイスで定義されていない例外をスローする必要がある場合に従うべきベストプラクティスは何ですか?

次に例を示します。

この場合、カップケーキを読み取るときに発生する特定の例外があるため、これに関連する例外をスローする必要があります。ただし、Readerはそのインターフェイスでこのタイプの例外を定義していないので、どうしますか?さらに、このタイプの例外はCupcakeReaderに固有であるため、ReaderインターフェイスthrowsCupcakeExceptionを追加しても意味がありません。これを回避する1つの方法は、Readerにreadを定義させて、 Exceptionなどの親タイプをスローするようにすることですが、そうすると、例外のコンテキストが失われます。この状況であなたは何をすべきですか?ありがとう!


提起されたもう1つの興味深い状況には、制御できないインターフェースが含まれます。この場合、問題が発生したことを示す最良の方法は何ですか?

説明のために、別の例を示します。

この場合、Readerを変更することはできませんが、 CupcakeReaderreadメソッドで問題が発生したことを示す必要があります。

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

c# - C#リアルタイムトライキャッチ

実際にC#でリアルタイムプログラミングを行っている人、または言語の内部を本当に理解している人からの返信をお願いします。

例外は通常の処理を処理するために使用するのではなく、エラー状態を検出するためにのみ使用する必要があることを私は知っています。そのトピックについてはたくさんの議論があります。

try / catchブロックを配置するだけで実行時間が遅くなるかどうかを知りたいです(プログラムを終了する必要がない限り、例外をキャッチすることはありません)。try / catchブロックは、繰り返し呼び出す必要のある関数内にあります。最小限のコストしかないと思います。

コストは、CPUサイクル、その他のタスク(浮動小数点乗算と同じコスト)、または別の方法で定量化できますか?

Windows XPではMicrosoftC#.Net3.5を使用しています。

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

c - C (C++ ではない) の例外ライブラリ

私は C 用に独自の例外ライブラリを展開しており、良い例を調べたいと思っています。

これまでのところ、私は David Hanson のものを見てきました: http://drhanson.net/work/

しかし、私は過去に利用可能な他のものを見たことがあることを知っています. 追加の指針を送ってもらえますか?

ありがとう、

SetJmp

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

c++ - スローとキャッチされた例外の引数を使用したスローの違いは何ですか?

2つの類似したコードを想像してみてください。

これらは事実上同じですか、それとも微妙に異なりますか?たとえば、最初のコンストラクターはコピーコンストラクターを実行しますが、2番目のコンストラクターは同じオブジェクトを再利用して再スローしますか?

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

javascript - エラーオブジェクトの関連性を使用してJavascriptでエラーをスローする

IEはこれをテストするために使用している環境であるため、これはIEに関連していますが、エラーをスローしたときにエラーオブジェクトのプロパティの関連性に影響を与えることができるかどうかを知りたい. 次の JavaScript を検討してください。

あなたが持っているコードをさらに下に

したがって、上記はエラーをスローしますが、デバッグ情報で報告されたエラーは、my.js の 3201 行目ではなく 9 行目でエラーがスローされていることを示しています。これは、標準的な方法を使用して変更できるものですか?

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

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

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

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

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

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

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