欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java異常機制分析

 更新時間:2014年09月12日 09:01:01   投稿:shichen2014  
這篇文章主要介紹了java異常機制,包括異常機制的捕獲、拋出及常見的異常機制總結,需要的朋友可以參考下

本文實例分析了Java的異常機制,分享給大家供大家參考。相信有助于大家提高大家Java程序異常處理能力。具體分析如下:

眾所周知,java中的異常(Exception)機制很重要,程序難免會出錯,異常機制可以捕獲程序中的錯誤,用來提高程序的穩(wěn)定性和健壯性。

java中的異常分為Checked Exception(非Runtime Exception)和UnChecked Exception(Runtime Exception),所有的異常類都直接或間接的繼承Exception。Exception又直接繼承自Throwable類,Throwable類的直接子類還有error類,不過當出現(xiàn)error時,程序會直接退出執(zhí)行,程序處理不了error,所以這里重點討論Exception類。RuntimeException類繼承自Exception,運行時異常都直接或間接繼承自RuntimeException類。其他繼承Exception類的是非運行時異常,在編譯期間可發(fā)現(xiàn)。運行時異常是在運行時才會出現(xiàn)的,如算術除零,在編譯期間是可以通過的,但在運行時會拋出運行時異常,除數(shù)不能為零。

java的異常處理有兩種

1、捕獲異常

結構如下

try
{
//執(zhí)行可能產生異常的代碼

}
catch(RuntimeException e)
{
//對捕獲的異常進行處理
}
catch(Exception e)//可定義捕獲多個異常
{
//對捕獲的異常進行處理
}
finally
{
//捕獲完后要執(zhí)行的代碼,可有可無,如果有的話就一定會執(zhí)行,不管有沒有異常
}
try-catch-finally

如果異常被catch捕獲后,后面還有catch語句就不會執(zhí)行了,但如果有finally的話就一定會執(zhí)行finally塊里面的語句。

2、聲明拋出異常

在調用會產生異常的方法所在的方法聲明處聲明throws Exception,此方法將不會對該類異常進行處理,而是由該方法的調用者處理。

3、人為的拋出異常

直接在方法內拋出異常,throw exception;

對于運行時異常推薦不對其進行處理。

自定義異常是定義了一個繼承自Exception類的子類,一般不會定義繼承自RuntimeException類,在try塊中存在return語句時,如果有finally塊語句,那么也要先執(zhí)行完finally塊的語句之后再返回,但如果try塊中存在System.exit(0)語句,就不會執(zhí)行finally塊的語句,因為System.exit(0)會終止當前運行的java虛擬機,程序會在虛擬機終止前結束執(zhí)行。

class myException extends Exception
{
  public myException(String str)
  {
    super(str);
  }
}
myException

異常在文件處理,輸入輸出流的應用場合等都會用上。

常見的異常類型有:

1、java.lang.NullPointerException:空指針異常,出現(xiàn)該異常的原因就是某個引用為null,但程序中又調用了該引用的某個方法。

2、java.lang.ClassNotFoundException :找不到指定的類,可能是類未定義。

3、java.lang.ArithmeticException:算術異常,如除數(shù)為零。

4、FileNotFoundException:在文件處理中,找不到指定的文件。

5、IOException:輸入輸出流異常

6、SQLException:sql異常,執(zhí)行sql語句出現(xiàn)錯誤。

此外還有許多類型的異常,在以后的編程中會遇到。相信本文所述對大家的Java程序設計有一定的借鑒價值。

相關文章

  • IDEA配置JRebel實現(xiàn)熱部署的方法

    IDEA配置JRebel實現(xiàn)熱部署的方法

    這篇文章主要介紹了IDEA配置JRebel實現(xiàn)熱部署的方法,本文給大家介紹的非常想詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot+Redis哨兵模式的實現(xiàn)

    SpringBoot+Redis哨兵模式的實現(xiàn)

    本文主要介紹了SpringBoot+Redis哨兵模式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • AbstractProcessor擴展MapStruct自動生成實體映射工具類

    AbstractProcessor擴展MapStruct自動生成實體映射工具類

    這篇文章主要為大家介紹了AbstractProcessor擴展MapStruct自動生成實體映射工具類實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Java私有構造器使用方法示例

    Java私有構造器使用方法示例

    這篇文章主要介紹了Java私有構造器的含義、關鍵字,同時通過實例向大家展示其使用方法,需要的朋友可以參考下
    2017-09-09
  • Java實現(xiàn)批量下載(打包成zip)的實現(xiàn)

    Java實現(xiàn)批量下載(打包成zip)的實現(xiàn)

    這篇文章主要介紹了Java實現(xiàn)批量下載(打包成zip)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java之maven打完jar包之后將jar包放到指定位置匯總

    Java之maven打完jar包之后將jar包放到指定位置匯總

    這篇文章主要介紹了Java之maven打完jar包之后將jar包放到指定位置匯總,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java.util.Collections類—emptyList()方法的使用

    java.util.Collections類—emptyList()方法的使用

    這篇文章主要介紹了java.util.Collections類—emptyList()方法的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java基于控制臺的學生學籍管理系統(tǒng)

    java基于控制臺的學生學籍管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java基于控制臺的學生學籍管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • MyBatis實現(xiàn)遞歸查詢的方法詳解

    MyBatis實現(xiàn)遞歸查詢的方法詳解

    在項目開發(fā)過程中,往往會遇到多級菜單、分類等多層級結構數(shù)據(jù)的查詢。本文就來為大家講講MyBatis實現(xiàn)遞歸查詢的方法,感興趣的可以動手嘗試一下
    2022-08-08
  • springmvc學習筆記-返回json的日期格式問題的解決方法

    springmvc學習筆記-返回json的日期格式問題的解決方法

    本篇文章主要介紹了springmvc學習筆記-返回json的日期格式問題的解決方法,解決了日期格式的輸出,有興趣的可以了解一下。
    2017-01-01

最新評論