異常

java異常處理目的在于通過使用少于目前數(shù)量的代碼來簡化大型、可靠的程序的生成。Java中Throwable類是所有異?;蝈e誤的超類,它的兩個子類Error表示編譯時和系統(tǒng)錯誤,Exception表示可以被拋出和處理的異常。一般來說我們只關(guān)心Exception類,它的子類可以分為兩類:

  • 一般異常(checkedException

主要指SQL、IO異常,對于這種異常JVM會強(qiáng)制我們對其進(jìn)行catch處理。

  • 運(yùn)行時異常(runtimeException

這類異常JVM會自動地拋出來,不需要我們手動去檢查,如果寫了代碼反而會混亂。

處理異??梢允褂?code>try...catch語句,try用來指定可能會發(fā)生異常的程序代碼,catch用來捕獲異常,如果發(fā)生了異常,那么后面的代碼將不會執(zhí)行,但假設(shè)存在finally,不管發(fā)生沒發(fā)生異常,finally代碼塊都會被執(zhí)行(注意:如果在try語句前有返回點(diǎn),則finally代碼塊不會被執(zhí)行;在try塊或catch塊中有System.exit(0)這種語句,finally也不會執(zhí)行,因為JVM都被停止運(yùn)行了。)。如果try...catch中有return,它不會影響finally,在執(zhí)行return的時候只是把return后面的值復(fù)制一份到返回變量中??梢允褂?code>throw明確拋出一個異常,throws用來表明一個方法可能拋出的各種異常。

java中可以使用assert(斷言)進(jìn)行開發(fā)的調(diào)試,assert后面跟一個布爾值的表達(dá)式,如果為false說明程序已經(jīng)錯誤了,會拋出一個AssertionException,如果assert后面有“:”和表達(dá)式,則表示當(dāng)條件為假時,將表達(dá)式的值傳入到AssertionException的構(gòu)造函數(shù)中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 有師弟私信我:“師姐,我要來你們單位上班了,但是我有些猶豫,不知道未來的路該怎么走,你能給我些建議嗎?”看著這短短...
    王木木_34a4閱讀 646評論 7 5
  • 圖片來自網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除。 在此致謝圖片作者! 欲往深山飲清泉 思遇神人結(jié)仙緣 清修脫俗悟禪機(jī) 諸君莫笑我...
    青松_534d閱讀 384評論 2 4
  • 當(dāng)你會做預(yù)算報價,卻由于粗心犯低級錯誤,不可原諒的錯誤,多花了很多時間。應(yīng)該高度自責(zé),杜絕以后犯同樣的錯誤。其實你...
    蓮花舒梓慧閱讀 599評論 0 1
  • 吃完晚飯后,在微博上看到一個話題#我與世界只差一個你#瞬間擊中小女紙那顆柔軟的心,毫不猶豫的點(diǎn)擊進(jìn)去,卻發(fā)現(xiàn)原來是...
    莫吉桑閱讀 840評論 0 1
  • 14個月的二寶學(xué)走路,他踉踉蹌蹌的在前面走,我在后邊緊跟著,他快我也快,他慢我也慢,他停我就停。我弓著腰,伸出的雙...
    申振柱閱讀 549評論 0 1

友情鏈接更多精彩內(nèi)容