构建异常处理器的第一步就是,把可能抛出异常的代码包在try代码块里面。通常,try代码块看起来是这样的:

try {
    code
}
catch and finally blocks . . .

示例中在标记为“code”的代码片段里,包含了一个或多个可能会抛出异常的合法的代码行。

为了给ListOfNumbers类的writeList方法构建一个异常处理器,把writeList方法中会抛异常的语句包在一个try代码块里面。有许多不同的办法,你可以给每一条可能会抛出异常的语句分别提供一个异常处理器。或者你可以把方法中所有的代码都放在单个try代码块里面,然后关联多个处理器。因为例子中的代码很短,所以这里采用单个try代码块。

private List<Integer> list;
private static final int SIZE = 10;

public void writeList() {
    PrintWriter out = null;
    try {
        System.out.println("Entered try statement");
        out = new PrintWriter(new FileWriter("OutFile.txt"));
        for (int i = 0; i < SIZE; i++) {
            out.println("Value at: " + i + " = " + list.get(i));
        }
    }
    catch and finally blocks  . . .
}

如果一个异常在try代码块里面发生了,这个异常处理器就会被相关的异常处理器处理。为了给try代码块关联异常处理器,你必须在后面加catch代码块,在The catch Blocks里介绍怎么用。





原文地址