class Test {
public static void main(String[] args) {
try {
String s = "5.6";
Integer.parseInt(s); // Cause a NumberFormatException
int i = 0;
int y = 2 / i;
}
catch (Exception ex) {
System.out.println("NumberFormatException");
}
catch (RuntimeException ex) {
System.out.println("RuntimeException");
}
}
}
正确的答案是程序有编译错误。我认为catch (Exception ex)
会捕获所有异常,包括NumberFormatException
,这是一个普遍的例外,它抓住了所有异常?
答案 0 :(得分:3)
块:
catch (Exception ex) {
System.out.println("NumberFormatException");
}
将捕获所有异常,因为Exception
类是所有异常的基类。
当您抓住Exception
时,您会抓住extend
Exception
的所有例外情况,这些例外情况都是如此。因此,它会产生错误 RuntimeException已被捕获