首页 >Java >java教程 >Java异常捕获讲解

Java异常捕获讲解

PHP中文网
PHP中文网原创
2017-06-20 09:58:091481浏览

今天,学习了try-catch-finally语句,本来觉得蛮简单、易懂的。搜了一道相关类型的题。结果信心被泼了盆冷水。先把题Mark一下,出去透透风。

 1 public class TestEx { 2     private int c; 3  4     public TestEx() { 5     } 6  7     @SuppressWarnings("finally") 8     boolean testEx() throws Exception { 9         boolean ret = true;10         try {11             ret = testEx1();12         } catch (Exception e) {13             System.out.println("testEx, catch exception");14             ret = false;15             throw e;16         } finally {17             System.out.println("testEx, finally; return value=" + ret);18             return ret;19         }20     }21 22     @SuppressWarnings("finally")23     boolean testEx1() throws Exception {24         boolean ret = true;25         try {26             ret = testEx2();27             if (!ret) {28                 return false;29             }30             System.out.println("testEx1, at the end of try");31             return ret;32         } catch (Exception e) {33             System.out.println("testEx1, catch exception");34             ret = false;35             throw e;36         } finally {37             System.out.println("testEx1, finally; return value=" + ret);38             return ret;39         }40     }41 42     @SuppressWarnings("finally")43     boolean testEx2() throws Exception {44         boolean ret = true;45         try {46             int b = 12;47             for (int i = 2; i >= -2; i--) {48                 setC(b / i);49                 System.out.println("i=" + i);50             }51             return true;52         } catch (Exception e) {53             System.out.println("testEx2, catch exception");54             ret = false;55             throw e;56         } finally {57             System.out.println("testEx2, finally; return value=" + ret);58             return ret;59         }60     }61 62     public static void main(String[] args) {63         TestEx testException1 = new TestEx();64         try {65             testException1.testEx();66         } catch (Exception e) {67             e.printStackTrace();68         }69     }70 71     public int getC() {72         return c;73     }74 75     public void setC(int c) {76         this.c = c;77     }78 }

Output:

看完之后我就在想,

1.Java异常处理机制,我真的理解了吗?

2.Java异常处理,我真的掌握了吗?

3.catch体里遇到return 是怎么处理?

4.finally 体里有return怎么处理?

5. catch 和 finally 体里同时遇上 return 怎么办?

6.是不是还有个System.exit()?遇到它又咋办??

7.仅仅知道throws不是完全之策啊,还要继续深入理解啊。

以上是Java异常捕获讲解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn