主要方法的Java异常规范

时间:2012-12-08 01:52:10

标签: java exception

我们不需要Java程序中main方法的异常规范。例如,以下代码完全相同,而没有为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强制执行此操作,但如果我为main方法排除此规范,则不会出现编译时错误。

1 个答案:

答案 0 :(得分:3)

这是因为Xcept永远不会被main方法抛出,因为你实际上catch那里...... sed.f()调用可能会导致Xcept 1}}被抛出,但它被抓住并处理。