異常(Exception)

異常java

Java運行過程當中發生的異常能夠分爲兩類:程序員

  1.錯誤(Error):JVM系統內部錯誤,資源耗費等嚴重狀況數據庫

  2.異常(Exception):其餘因編程錯誤或偶然的外在因素致使的通常性問題編程

  1. 能夠對下列情形在方法定義中拋出異常

          (1)    方法中調用了一個會拋出「已檢查異常」的方法數組

          (2)    程序運行過程當中發生了錯誤,而且用throw子句拋出一個」已檢查異常」安全

                      

a.對負數開平方根網絡

b.空指針訪問指針

c.試圖讀取不存在文件orm

d.網絡鏈接中斷對象

e.分母爲0

PS:不要拋出:從Error派生的那些異常

JAVA異常處理機制

  1. JAVA程序的執行過程當中如出現異常,會自動生成一個異常類對象,該異常對象將被提交給JAVA運行時系統,這個過程稱爲拋出(throw)異常----主動
  2. 當JAVA運行時系統接收到異常對象時,會尋找能處理這一異常的代碼並把當前異常對象交給其處理,這一過程稱爲捕獲(catch)異常----被動
  3. 若是JAVA運行時系統找不到能夠捕獲異常的方法,則運行時系統將終止,相應的JAVA程序也將退出
  4. 程序員一般只能處理Exception,而對錯誤Error無能爲力

常見異常:

  1. RuntimeException
    1. ArithmeticException:數學計算異常
    2. NullPointerException:空指針異常
    3. NegativeArraySizeException:負數組長度異常
    4. ArrayIndexOutOfBoundsException:數組索引越界異常
    5. ClassNotFoundException:類文件未找到異常
    6. ClassCastException:造型異常
  2. IOException
    1. FileNotFoundException:文件未找到異常
    2. EOFException:讀寫文件尾異常
    3. MalformedURLException:URL格式錯誤異常
    4. SocketException:Socket異常(套接字)
      1. 算數異常類:ArithmeticException
      2. 空指針異常類:NullpointerException
      3. 類型強制轉換異常:ClassCastException
      4. 數組負下標異常:NegativeArrayException
      5. 數組下標越界異常:ArrayIndexOutOfBoundsException
      6. 違背安全原則異常:Secturity Exception
      7. 文件已結束異常:EOFException
      8. 文件未找到異常:FileNotFoundException
      9. 字符串轉換爲數字異常:NumberFormatException
      10. 操做數據庫異常:SQLException
      11. 輸入輸出異常:IOException
      12. 方法未找到異常:NotSuchMethodException
      13. 抽象方法錯誤異常java.lang.AbstractMethodError
      14. 斷言錯誤異常java.lang.AssertionError
      15. 類循環依賴錯誤異常java.lang.ClassCircularityError
      16. PS:當一個異常沒有在當前的try-catch中處理的話將會拋給調用它的方法(throws)
      17. PS:當一個異常一直沒有可以被處理最後又回到主方法的時候,程序將會中止運行
      18. 若是程序須要catch塊中訪問異常對象的相關信息,能夠經過調用catch後異常形參的方法來得到。當JAVA運行時決定調用某個catch塊來處理異常對象時,會將該異常對象賦給該catch塊後的異常參數,程序就能夠經過該參數得到異常的相關信息啦

        getMessage():返回該異常的詳細描述字符串

        printStackTrace():將 該異常的錯誤棧信息輸出屏幕上

        printStackTrace(PrintStream s):將該異常的跟蹤棧信息輸出到指定的輸出流

        getStackReace():返回該異常的跟蹤棧信息

相關文章
相關標籤/搜索