我正在学习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");
}
}
该行的异常是“无法到达的语句”:
System.out.println("4");
我想知道为什么我会收到此错误,通常在我们最终继续执行代码之后?
答案 0 :(得分:0)
您抛出一个异常而没有捕获到它。这将导致代码执行提前终止,并且永远不会到达最后一行。
答案 1 :(得分:0)
finally 块始终在try块退出时执行。这样可以确保即使发生意外异常,也可以执行finally块。但是,最后,它不仅对异常处理有用,它还使程序员避免因返回,继续或中断而意外地跳过清理代码。将清理代码放在finally块中始终是一个好习惯,即使在没有例外的情况下也是如此。
请记住:finally
没有捕获到异常!