分析下面一段话最后执行结果,不是很理解求大神指教
public class Test {
public static void main(String[] args) throws Exception{
try{
throw new Exception();
}catch(Exception e){
System.out.println("Caught in main()");
}
System.out.println("nothing");
}
}
------解决方案--------------------
结果是不是catch in main() nothing 啊
------解决方案--------------------
我看错了 你这个程序,肯定会抛出异常
------解决方案--------------------
用try ..catch捕捉异常,因为try内抛出一个异常,被catch扑捉到,所以打印出catch in main(),又因为在main()那里已经申明抛出异常,程序继续运行,所以又打印nothing
------解决方案--------------------
public class TestException {
public static void main(String[] args) throws Exception {
System.out.println("main() start"); // 1)顺序执行
try {
System.out.println("try() start"); // 2)顺序执行
throw new Exception(); // 3)抛出异常,跳到catch语句
System.out.println("try() end"); // 永远也走不到这里来
} catch (Exception e) {
System.out.println("Caught in main()"); // 4)接收到异常,顺序执行
}
System.out.println("nothing"); // 5)顺序执行
}
}
main() start
try() start
Caught in main()
nothing
------解决方案--------------------
顶楼上,方法上的throws意思是“这个方法中有了异常就往外抛”。
try......catch 是截获这个异常,不让抛出去了,在catch中处理了