前面的章节介绍了怎么在ListOfNumbers类的writeList方法里写一个异常处理器。有时候,捕获可能会发生的异常是合适的。但是在其它一些案例中,让调用栈的上层方法去处理会更好一些。比如,如果你提供ListOfNumbers类作为一个软件包的一部分,你不能确定软件包的所有用户的所有需求。在这种情况下,最好不要捕获异常,而是应该允许调用栈的上层方法去处理。

如果writeList不捕获它可能会发生的异常,writeList方法必须声明可能会发生的异常。throws从句包括:throws关键字,后面紧跟用逗号分隔的异常列表,这些异常都是方法中可能会抛出的异常。从句跟在方法名和参数列表后面,在方法级大括号之前。这里有个例子:

public void writeList() throws IOException, IndexOutOfBoundsException {

别忘了IndexOutOfBoundsException是一个非检查异常,在throws从句中不强制要求包含它。你只要这样写:

public void writeList() throws IOException {





原文地址