异常处理中的一点困惑,请指点! 本帖最后由 apollo_liiu 于 2013-01-23 17:08:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为你在finally快return了:finally{ System.out.println("finally ..."); return ret;} 我猜是这个原因 有了finally估计是finally来扑捉了,你可以再没有返回值的finally语句中加个return ;这样编译器也不会强制要求我们抛异常 坐等楼下大神解释 为什么有了return就不用"捕获或声明",请hzw2312朋友详细说明下,谢谢了。 不是因为这个,是因为永远也不会有IOException,所有能编译 抛出了异常,就不执行别的语句,走完finally后就会返回异常信息了。然而finally{return;}又告诉程序不返回异常信息了、直接返回ret!这是一个逻辑错误!!! debug调试了一下,methoda中,在finally块执行完后会判断抛出的异常在大括号结束后会显示suspended exceptionmethodb中,finally块中直接return返回值,强制退出该方法的执行,返回到main方法,没有执行到finally块的后括号}就已经结束 如何根据已有的dtd,判断xml是否正确 java访问服务器 网络故障解决的办法 关于DJUnit问题。 ^小女子问个同步的问题$ 单词排序,高手请进(c语言) 刚刚参加了腾讯创新大赛,老郁闷了 JDBC 调用 Record 参数类型的 存储过程的问题 能否用正则去掉空行? SUN有望提供中文版的Java API Docs 希望用JAVA作一个电子词典需要用J2EE吗? Integer的疑问 log4j每天产生一个日志文件
因为你在finally快return了:
finally{
System.out.println("finally ...");
return ret;
}
抛出了异常,就不执行别的语句,走完finally后就会返回异常信息了。然而finally{return;}又告诉程序不返回异常信息了、直接返回ret!
这是一个逻辑错误!!!
methodb中,finally块中直接return返回值,强制退出该方法的执行,返回到main方法,没有执行到finally块的后括号}就已经结束