Rumah  >  Artikel  >  Java  >  Java异常捕获讲解

Java异常捕获讲解

PHP中文网
PHP中文网asal
2017-06-20 09:58:091421semak imbas

今天,学习了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不是完全之策啊,还要继续深入理解啊。

Atas ialah kandungan terperinci Java异常捕获讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Java知识点--基础篇Artikel seterusnya:ftp上传实例代码