メソッドの署名の後に追加する必要があるかどうかに興味がありthrows ExceptionClass
ます。(ExceptionClass extends RuntimeException)
例えば:
public void foo() // throws ExceptionClass
{
// ...
throw new ExceptionClass("");
}
JDK をガイダンスとして使用する場合、RuntimeException はメソッドの署名にはありませんが、javadoc に記載されています。たとえば、コレクションを見ることができます。
理想的には、メソッドの throws 句に実行時例外を追加する必要はありません。このメソッドのコンシューマーに、このメソッドが例外をスローする可能性があることを認識してもらいたいので、javadoc を使用することをお勧めします。以下は、使用方法の例です。
/**
*
* @throws ExceptionClass
*/
public void foo()
{
// ...
throw new ExceptionClass("");
}
throws
ランタイム例外は、句にリストする必要はありません。この動作を文書化する必要がある場合、このクラスのクライアントにとって、この例外が発生する可能性があることを知ることが何らかの形で重要な場合にのみ、そこに配置してください (ただし、その場合は、おそらくチェック例外に変更する必要があります。または javadocs でのみ言及されています)。