最后阻止后无法访问的语句

zak*_*zak 1 java exception

我正在学习Java中的异常,我在这个例子中遇到了编译错误:

public class FinallyExceptionExample {
    public static void main (String[] args) throws Exception {
        try {
            System.out.println("1");
            throw new Exception();
        } finally{
            System.out.println("3");
        }
        System.out.println("4");
    }
}
Run Code Online (Sandbox Code Playgroud)

该行的例外情况是"无法访问的声明":

System.out.println("4");
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我得到这个错误,通常在我们最后继续执行代码之后?

Era*_*ran 6

finally言不赶在抛出的异常try块.只有catch语句可以捕获异常.

因此,System.out.println("4");永远不会到达,因为try块总是抛出未捕获的异常.