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

c++ - C++スローエラー

リストの最後にoノードを追加するc++コードを書いています。ノードがすでに存在する場合にエラーをスローしたいのですが、動作していますが、すでに存在するノードで呼び出すと、このエラーが発生します。誰もが理由とそれがどのように修正されるか知っていますか?

'
Error'Abortedのインスタンスをスローした後に呼び出された例外終了

編集:私はそれをそのように呼びます

行の1つを消去するとx.addNode(p1);、例外なく正常に機能します...

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

exception - Haskellで例外をスローしてプログラムを終了するには?

質問があります: 例外をスローしてプログラムを終了するにはどうすればよいですか? 簡単な例を書き留めました:

モジュールは次のとおりです。

これを開始して例外をスローし、プログラムを終了したいのですが、どうすればよいですか?

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

c++ - 例外クラスを定義して例外をスローする C++ の標準的な方法

使用時にキャッチしたい例外をスローする可能性のある関数を含むクラスを構築したいと考えています。標準の例外クラスから my_exception を継承します。what() 関数を実装して、プライベート文字列変数に格納されている文字列を返すようにします

ios_base::failure を使用して iostream ライブラリで行われているように、例外をネストされたクラスとして定義する方がよいと思います。

あまり確信が持てないのは、my_expetion のオブジェクトをどこでどのように定義する必要があるかです。iostream 関数の内部コードを見て、それがどのように行われたかを確認できればと思います。私はいくつかのオプションについて考えました:

  1. 例外の理由ごとに、文字列を取得してプライベート文字列ポインターに保存するコンストラクターを使用して、my_exception の静的インスタンスを定義できます。

  2. 例外の理由ごとに、my_exception から継承する別のクラスを定義し、定数文字列 (理由) を返す関数として what を実装できます。その例外サブクラスのそれぞれのインスタンスを保持したり、型をスローしたりできます。ところで、通常、インスタンスではなくタイプをスローするのはいつですか?

  3. 私はそれが間違っていると思います: 例外をスローしたいたびに、文字列を取得するコンストラクターで新しい my_exception を作成します。これは Java で行われますが、例外をどこかで削除する必要があるため、C++ では問題になると理解しています。右?

1枚目が正しいと思いますよね?これ以上の標準オプションはありますか?

どうもありがとうございました!

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

c# - 2つの例外を続けてスローしても、到達不能コードの警告が生成されないのはなぜですか?

次のコード行でコンパイラ警告が作成されないのはなぜですか?

私が見ているように、コンパイラは2番目のスロー例外に到達できないことを通知する必要があります。

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

c++ - この構文はどういう意味ですか? 演算子のオーバーロードとスロー例外

本でコードを見た:

throw(RangeError) とはどういう意味ですか? 関数宣言の後ろに、const または =0 (純粋仮想の場合) を追加できることは知っていますが、throw(...) を見たことはありません。

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

c++ - C++ トリガー プログラム メッセージをスローしてからクラッシュする

アプリケーションをデバッグすると、コード内の throw ステートメントでコードが即座にクラッシュします。

そのため、デバッグ時に throw ステートメントでクラッシュします。興味深いことに、CLI (この場合は「cmd.exe」) に次のメッセージが表示されます (これは私が入力したものではなく、コンパイラまたは OS からのものです)。

以前は C でプログラミングしていたので、今は C++ に傾倒しています。おわかりのように、現在、C++ が使用する try-catch 例外処理システムを管理しようとしています。

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

c++ - デフォルトのデストラクタのgcc例外仕様

そのコードは次のエラーを出します:

私のdebianテストでは(gcc(Debian 4.6.0-10)4.6.1 20110526(プレリリース))、以前のgccバージョン(私のdebianシステムでは4.5)ではエラーなしでコンパイルされます。

例外仕様は仮想デストラクタのオーバーライドにどのように影響しますか? その答えによると、コンパイラは基本クラスのthrow宣言に一致するデフォルトのコンストラクタを作成することになっています。明らかに、これは新しいgccで起こることではありません。変更点、正しいコンパイラの動作、および派生クラス(コンパイラフラグなど)に空のデストラクタを手動で追加する以外に、問題の簡単な解決策はありますか。

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

java - Java で例外を管理する

私は小さなデータベースプログラムをやっています。

プログラムを実行すると、すべて問題なく実行されますが、2 回目にはこの Exception が発生します。

重複するテーブル名: 従業員

例外を管理する方法はわかっていますが、考えられるすべての例外を管理するにはどうすればよいですか。お気に入り :

IF例外は重複エラーでありTHEN、カスタムの重複メッセージが表示されます。

IF主キーが重複しているTHENと、別のエラー メッセージが表示されます。

ありがとう。

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

java - Java キャッチ例外とサブクラス

こんにちは、

Java で、次のようなメソッドBufferedReader.read()が an をスローできると言い、2 つの catch ブロックでIOExceptionaFileNotFoundExceptionと anをキャッチしようとするとIOException、ファイルが存在しない場合、どの catch ブロックが入力されますか?

最も具体的なものだけを入力しますか、それとも両方を入力しますか?

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

c++ - C++: 例外をスローする、「new」を使用するかどうか?

または使用するのは適切ですthrow new FoobarException(Baz argument);throw FoobarException(Baz argument);

キャッチするときは常にcatch(FoobarException& e)「念のため」を使用しますが、C ++で new を使用する必要があるかどうか(Javaは間違いなく)、またはそれがプログラマーの好みであるかどうかについて、確固たる答えを見つけることができませんでした。