【发布时间】:2017-03-22 14:43:00
【问题描述】:
我无法理解现有代码。我想知道Java如何管理抛出异常并以相同的方法捕获它。我在其他问题中找不到它,所以我准备了示例。在 Java 中运行下面的代码会输出什么?
public static void main(String [ ] args) {
try{
System.out.println("1");
method();
}
catch(IOException e) {
System.out.println("4");
}
}
public static void method() throws IOException {
try {
System.out.println("2");
throw new IOException();
}
catch(IOException e) {
System.out.println("3");
}
}
它将是 1 2 3 或 1 2 4?
【问题讨论】:
-
1 2 3 将被输出
-
你能不自己试试运行吗?
-
除非您将方法声明为静态,否则它不会编译。一旦你解决了这个问题,正如@findusl 所说,输出将是 1,2,3
-
我同意@findusl ...
method()应该捕获并吞下异常。如果它重新抛出异常,您还会在输出中得到4。 -
@kuba44 这不是你问的。
标签: java exception try-catch throw