2016-09-14 5 views
0

メソッドで一般的な例外を投げるのはなぜJavaでは悪い習慣ですか?メソッド内の一般的な例外を投げるのがなぜ悪いのですか?

class Test{ 
     public void ex() throws Exception{ 
      //...some code throwing for eg. IllegalAccesException() 
     }  
    } 
+2

なぜ、 'Object'をJavaで返すのが悪いのですか?同じ理由。しかし、さらにそうです。あなたのコードに実際に問題があるのですか、それともJVMやオペレーティングシステムからですか? –

+0

特定ではないためです。メソッドに複数の型の例外を投げている可能性があり、それらをすべて 'Exception'でラップすると、コードがあまり明示されなくなります。 –

+0

新しい質問がある場合は、新しい投稿を作成してください。既存の質問を操作して新しい質問をすることはできません。 – Tom

答えて

1

メソッドで例外をスローすると、通常どのような例外が発生するのかを知るべきです。特定の例外ではなく一般的な例外をスローすると、発生した場合に例外をキャッチするときに例外の詳細が失われます。例えば

は、Float.parseFloat()はスロー:

1)場合NullPointerException - >文字列がnullの場合

2)はNumberFormatException - >文字列が解析可能なfloatを含まない場合。

"NullPointerException"と "NumberFormatException"の代わりに一般的な "例外"をスローすると、文字列がヌルであるか、文字列に解析できない浮動小数点値が含まれているために例外が発生したかどうかを知る方法がありません。

関連する問題