Javaプログラムのmainメソッドに例外指定は必要ないのでしょうか。たとえば、次のコードは、メイン メソッドに「throws Xcept」を指定しなくてもまったく同じように機能します。
class Xcept extends Exception {
public Xcept(){
}
public Xcept(String msg){
super(msg);
}
}
public class MyException {
public void f() throws Xcept {
System.out.println("Exception from f()");
throw new Xcept("Simple Exception");
}
public static void main(String[] args) throws Xcept {
MyException sed = new MyException();
try {
sed.f();
} catch(Xcept e) {
e.printStackTrace();
}
finally {
System.out.println("Reached here");
}
}
}
Java がこれを強制することを読みましたが、メイン メソッドのこの指定を除外すると、コンパイル時エラーは発生しません。