throwsについて
こんにちは。
最近、JAVAの勉強を始めたのですがわからない点がありましたので質問に参りました。
こちらのページに
http://msugai.fc2web.com/java/throws.html
> コンパイル時に、スローされた例外が呼び出し元でキャッチされているかどうかチェックされます。
> キャッチされていなければ、コンパイルエラーになります。
とあったので試しに以下のようなコードを作りました。
class SampleException
{
public static void main(String[] args)
{
//try{
exMethod();
//}
//catch(NumberFormatException e){}
//catch(Exception e){}
}
private static void exMethod() throws NumberFormatException
{
String notnum = "非数値";
int suti = Integer.parseInt(notnum);
}
}
(try~catchはコメントアウトしたまま)
この説明の通りならコンパイルエラーが出るだろうと思ったのですが
コンパイルしてみると成功してしまいました。
(throwsにExceptionを追加すればコンパイルエラーは出ます。)
throws NumberFormatExceptionと記述しておけば
このメソッド使うときはNumberFormatExceptionかExceptionの例外処理を
必ずしなくてはならないものだと思っていたのですが
これは私の認識違いなのでしょうか?
それともコードが何か間違えているのでしょうか?
よろしくお願いします。