- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于ava异常处理机制的深入理解
1引子
try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。
package myExample.testException;
public class TestException {
????public TestException() {
????}
????boolean testEx() throws Exception{
????????boolean ret = true;
????????try{
????????????ret = testEx1();
????????}catch (Exception e){
????????????System.out.println(testEx, catch exception);
????????????ret = false;
????????????throw e;
????????}finally{
????????????System.out.println(testEx, finally; return value=+ret);
????????????return ret;
????????}
????}
????boolean testEx1() throws Exception{
????????boolean ret = true;
????????try{
????????????ret = testEx2();
????????????if (!ret){
????????????????return false;
????????????}????????????
System.out.println(testEx1, at the end of try);
????????????return ret;
????????}catch (Exception e){
????????????System.out.println(testEx1, catch exception);
????????????ret = false;
????????????throw e;
????????}
????????finally{
????????????System.out.println(testEx1, finally; return value=+ret);
????????????return ret;
????????}
}
????boolean testEx2() throws Exception{
????????boolean ret = true;
????????try{
????????????int b=12;
????????????int c;
????????????for (int i=2;i=-2;i--){
????????????????c=b/i;
????????????????System.out.println(i=+i);
????????????}
????????????return true;
????????}catch (Exception e){
????????????System.out.println(testEx2, catch exception);
????????????ret = false;
????????????throw e;
????????}
????????finally{
????????????System.out.println(testEx2, finally; return value=+ret);
????????????return ret;
????????}
????}
????public static void main(String[] args) {
????????TestException testException1 = new TestException();
????????try{
????????????testException1.testEx();
????????}catch(Exception e){
????????????e.printStackTrace();
????????}
????}
}
你的答案是什么?是下面的答案吗?
i=2
i=1
testEx2, catch excepti
文档评论(0)