C#入門書では、何をするべきかわからない場合は例外をキャッチしないようにしています。 Javaでプログラミングをしているときにそのアドバイスを考えると、私は例外について何をすべきかわからないことがありますが、コンパイルエラーを避けるために、それをキャッチしたり、 "あいまいにする"ことを余儀なくされています。私はむしろ、throws
節を持つメソッドを混乱させるつもりはないので、次のように例外を "RuntimeException
"に "変換"することに頼っています。実際に「処理されていない」(適切に処理されていない)例外の多くのメソッドにthrows
句を追加すると、冗長で気を散らすように思えます。次の悪いスタイルがありますか?そうであれば、これに対処するより良い方法は何ですか?致命的な例外を処理する
try {
thread.join();
}
catch (InterruptedException e) {
Console.printwriter.format("%s\n", e.printStackTrace());
throw new RuntimeException();
}
編集:あなたはおそらく、いくつかの不要なthrows
句で終わるコードの改正後:脇混乱から、浸透の例外を除いて、別の問題があります。私がそれらをきれいにするために知っている唯一の方法は、試行錯誤によるものです:それらを削除し、コンパイラが不平を言うかどうかを確認してください。明らかに、コードをきれいに保つことを望むなら、これは面倒です。
。 – lifetimes
合意。私は一般に、新しく定義された多くの例外を宣言していません。私は主にサードパーティとJavaの例外について懸念しています。 – H2ONaCl
@ user1394965はい、あなたのコードは「常に」例外をスローするべきではありません。しかし、それは例外が可能かどうかということとはまったく異なる問題です。 IO操作やブロッキングメソッドを含む何かは、やむを得ない例外処理ではぎとられる可能性があります。 –