2

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 がこれを強制することを読みましたが、メイン メソッドのこの指定を除外すると、コンパイル時エラーは発生しません。

4

1 に答える 1

3

これは、実際にそこにあるためXcept、メソッドからスローされることは決してないためです...呼び出しはスローされる可能性がありますが、キャッチされて処理されます。maincatchsed.f()Xcept

于 2012-12-08T01:54:47.970 に答える