首頁  >  文章  >  Java  >  Java異常捕獲講解

Java異常捕獲講解

PHP中文网
PHP中文网原創
2017-06-20 09:58:091469瀏覽

今天,學習了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