2013-04-06 72 views
1

我想在类的声明中抛出异常。类似这样的:在类声明中抛出异常

class myClass throws A_Dangerous_Exception implements Something_to_Implement { 

... 

} 

有什么建议吗?

回答

2

你不能。异常只能从方法或构造函数中抛出。你可以这样做:

class myClass implements Something_to_Implement { 

    public myClass() throws A_Dangerous_Exception { 
     ... 
    } 
} 

从构造函数抛出异常之前要小心收拾任何资源,如FileOutputStream

阅读:Exceptions

4

你不能做到这一点。你大概的意思是扔从类异常的构造函数:

class myClass implements Something_to_Implement { 
    myClass() throws A_Dangerous_Exception {} 
} 

如果你有多个构造函数,每个人都可以有不同的throws条款,如果你想:

class myClass implements Something_to_Implement { 
    myClass() throws A_Dangerous_Exception {} 
    myClass(int a) throws A_Dangerous_Exception, A_Not_So_Dangerous_Exception {} 
} 

之后,当实例那么您将必须处理您的例外情况,或者通过捕获它们或将其声明在您实例化类的方法的throws子句中:

void myMethod() { 
    try { 
    new myClass(); 
    } catch (A_Dangerous_Exception e) {} 
} 

void myMethod() throws A_Dangerous_Exception { 
    new myClass(); 
} 
+1

谢谢!这真的有帮助,我需要一个提醒 – 0101011 2013-04-06 02:23:20