問題タブ [throws]
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.
java - 例外をスローしてキャッチするか、instanceof を使用しますか?
変数に例外があります (スローされません)。
最良の選択肢は何ですか?
また
java - スローを使用すると、呼び出し元のメソッドが例外を処理するよう求められない
ここでは、例外の処理を要求していない他の場所からこのメソッドを呼び出すときに、メソッド シグネチャでスローを使用しました。
javascript - QUnit 例外テストについて
QUnit テストを書いているときに、「スロー」の動作に驚きました。次のコード ( http://jsfiddle.net/DuYAc/75/ ) について、誰か私の質問に答えてください。
失敗するのは 2 番目のテストだけですが、これはこのテストを作成する際の私の自然な選択でした...
質問:
1) テストした関数を囲むためにインライン関数を使用する必要があるのはなぜですか?
2) 最後のテストが失敗しないのはなぜですか? 'func' は例外をスローしません。
説明を読んでいただければ幸いです。
java - 良いパターン?... method() は X をスローします
いくつかの背景、そしていくつかの質問。
インターフェイス(またはクラス)が、そのメソッドがスローする可能性のある(チェックされた)例外のタイプでジェネリックである可能性があることを最近発見しました。例えば:
ポイントは、後でこれをインスタンス化し、たとえばメソッドIOException
を呼び出したrun
場合、コンパイラーは、それをキャッチするかIOException
、スローされたものとしてマークする必要があることを認識していることです。さらに良いことに、X
が だった場合は、RuntimeException
それを処理する必要はまったくありません。
上記のインターフェイスを使用した不自然な例を次に示しますが、これは基本的にコールバックであり、非常に一般的なはずです。
特定のチェック済み例外で独自の特定のメソッドを実行するために、一般的なユーティリティ メソッドrunTwice
(おそらく外部ライブラリで定義されている) を呼び出しています。どの特定のチェック済み例外がスローされる可能性があるかについての情報は失われません。
別の方法は、メソッドとメソッドのthrows Exception
両方で単純に使用することでした。これにより、インターフェースの実装が制限されることはありませんが、チェック例外の利点が失われます。または、チェックされた例外の利点が失われ、実装が強制的にラップされる可能性もありました。Runnable.run
runTwice
Runnable
throws
見たことがなかったのでthrows X
、何か見落としているのかもしれません。さらに、コールバックの例が反論されることなく、チェックされた例外に対する引数として使用されているのを何度か見てきました。(この質問は、チェック済み例外の長所/短所には関心がありません。)
throws X
一般的には良い考えですか?長所と短所は何ですか?使用している、または使用していないが、使用する必要がある例をいくつか挙げていただけますthrows X
か?
基本的に、もう少し洞察が欲しいです。次の例についてコメントしてください。
OutputStream
スローIOException
(おそらくByteArrayOutputStream
拡張可能GenericOutputStream<RuntimeException>
)Callable
/Future.get
コモンズプール
borrowObject
/makeObject
(編集後、振り返ってみると、これらを別の方法で設計することができたかどうか、またはすべきであったかどうかは尋ねていません。むしろ、throws X
よりも優れているでしょうthrows Exception
。)
java - IllegalArgumentException をスローできない
プログラムで 3 つのテスト スコアを受け取り、それらの平均を出力する必要がありますが、スコアが -1 未満または 100 より大きい場合は、IllegalArgumentException をスローする必要があります。平均を出力することはできますが、-1 または 101 をテストすると、例外はスローされません。私は何を間違っていますか?
私は例外の学習に非常に慣れていないので、助けていただければ幸いです。
これが私のコードです:
java - 例外は正しく機能しますが、その必要がある方法ではありません
- メソッド
processExceptions
() は、メソッドを呼び出してBEAN.methodThrowExceptions
例外を処理する必要があります。
1.1。例外FileSystemException
が発生した場合は、メソッドを呼び出してログに記録し、BEAN.log
前方にスローします
1.2. 例外CharConversionException
またはその他IOException
が発生した場合は、メソッドを呼び出してログに記録するだけですBEAN.log
2.1 で転送する例外のクラス/タイプを追加します。メソッドの
processExceptions()
署名に。メソッド内の残りの例外を処理し、
main()
ログに記録します。使用するtry..catch
さまざまな解決策を試しました。動作しますが、本来の動作ではありません。throws
in メソッドの正しい配置は何ですか。それとも、まったく使用すべきではないのでしょうか? そして置いておかないと使えないthrow
。助けてください、私は本当にあなたの時間を感謝します.