異常體系與異常處理

異常體系

1.      運行時異常

ArithmeticException>算術異常   -

Eg:


NullPointerException>空指針異常-一個爲null的東西-調用方法或屬性

ArrrayIndexOutOfBoundsException> 索引超出指定範圍

ClassCastException>發生在強制轉型

IllegalArgumentException>參數非法

2.      編譯時異常

FileNotFoundException

3.      錯誤

Error:錯誤-程序設計問題

OutOfMemoryError>堆內存溢出


內存佔用:1、000、000、000x4=4、000、000、000B

 

內存佔用:10、000、000、000x4=40、000、000、000B

 

因爲總內存爲:4x1024Mx1024KBx1024B=4、294、967、296B遠小於40、000、000、000B,所以內存崩潰。

 

注意:垃圾自動回收機制>當佔用的內存沒有被使用時,系統會自動回收此內存空間。

-我不斷創建按鈕,但是內存佔用基本不動。  

 

StackOverflowError>棧內存溢出

通過不斷調用方法而不斷進行壓棧導致棧內存溢出。

*如何測棧的深度

 

 

異常處理

1.      try-catch-finally

程序的思路

程序進入try語句時,當遇見異常時轉而進入catch語句時

注意:不要濫用try、catch語句,不能屏蔽需要報出來的異常

   * printStackTrace()方法的意思是:在命令行打印異常信息在程序中出錯的位置及原因。(這是白話解釋,比較容易理解)

Finally>最後-始終都會執行-關閉資源

2.      throw

修改代碼後通過

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章