10:有關異常的知識。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一:
printStackTrace( )函數:指出異常的類型,性質,棧層次及出現再程序中的位置。
getMessage( )函數:輸出錯誤的性質。
toString( )函數:給出異常的類型,性質。
二:
Finally 塊必須與try 或 try---catch配合使用。如果 存在,則總會執行。但在以下情況除外:
1》 在finally 塊中發生了異常。當try 塊中發生了異常,不管是運行時異常還是被檢查的異常,或是自己拋出了一個異常,finally代碼的後繼部分將不被執行。
2》 程序所在的線程死亡。
3》 當前的代碼中用System.in.read( )退出運行
4》 關閉CPU。如果在try 塊執行期間拔掉電源,finally 也不會被執行。
三:
JAVA中可能會拋出的異常:
1》 調用的方法拋出了異常
2》 檢測到了錯誤並使用 throw 語句拋出異常
3》 程序代碼有錯誤(數組越界錯誤,JAVA運行時刻系統產生內部錯誤)
四:
1》 Error 類中派生出來的異常和從RuntimeException類中派生的異常不用在方法聲明中指定。屬於不檢查異常(unchecked exception). RuntimeException類的錯誤的強制類型轉換,數組越界訪問,空指針操作。其他異常(非RuntimeException類)有:文件指針越界,格式不正確的URL,試圖爲一個不存在的類找一個代表它的Class類的對象當然還有一種稱之爲檢查異常(checked exception)是指那些在程序中應該處理的異常。
2》當子類的方法覆蓋了超類的方法時,子類方法的throws 子句中聲明的異常不能多於超類方法中聲明的異常,否則會產生編譯錯誤。因此,如果超類的方法沒有throws 子句,那麼子類中覆蓋它的方法也不能使用throws 子句指明異常。對於接口,情況相同。