如果没有 catch block ,哪个异常处理程序将处理异常?
public class Doubt {
public static void main(String arg[])
{
System.out.println("hi");
int i=10;
int j;
try
{
j=i/0;//Arithmatic exception type object is created but no catch block so who will catch d exception..
}
finally
{
System.out.println("shit");
}
System.out.println("program still running");
}
}
最佳答案
没有。 try..finally
block 根本不捕获异常。
它用于确保 finally
block 中的代码得到执行(即使在 try
block 中发生异常时)。 finally
block 总是会被执行,即使在 try
中有 return 语句也是如此。
除非切断计算机电源或突然关闭 JVM(或在某些情况下中断执行 try
代码的线程),否则无法跳过 finally
block 。
添加一个 catch block 来捕获异常:
try {
j=i/0;
} catch(Excecption e) {
e.printStackTrace();
} finally {
System.out.println("shit");
}
关于java - 如果没有 catch block ,哪个异常处理程序将处理异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28480896/