在类声明中抛出异常

时间:2013-04-06 02:20:06

标签: java class exception throw

我试图在类的声明中抛出异常。像这样:

class myClass throws A_Dangerous_Exception implements Something_to_Implement {

...

}

有什么建议吗?

2 个答案:

答案 0 :(得分: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 :(得分:2)

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

class myClass implements Something_to_Implement {

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

在从构造函数中抛出异常之前,请小心整理FileOutputStream之类的任何资源。

阅读:Exceptions