java異??偨Y(jié)

提示: 幾種常見(jiàn)異常
ArithmeticException數(shù)學(xué)算數(shù)錯(cuò)誤異常
ArrayIndexOutOfBoundsException數(shù)組越界
ClassCastException 類型轉(zhuǎn)換異常
InputMismatchException用戶輸入異常
NullPointerException空指針異常
FileNotFoundException文件沒(méi)有找到
IllageArgumentExceotion 非法的參數(shù)
1 異常:既是一種意外,是程序沒(méi)有按照正?;蚱谕姆绞竭M(jìn)行。
2 必須對(duì)檢查型異常進(jìn)行處理 SQLExceptions try -catchinally throws
3 final可選 catch可選但是二者不能同時(shí)為空
try:中的異常,系統(tǒng)(JVM虛擬機(jī))自動(dòng)檢測(cè)是什么異常
catch的異常,是子父類的關(guān)系。產(chǎn)生異常,從上到下匹配.一定先捕獲子類異常,再捕獲父類異常。
catch最后一個(gè)異常,要用Exception進(jìn)行攔截,攔截所有的異常
不希望后續(xù)的代碼有影響
throws 異常之后的語(yǔ)句也不執(zhí)行
異常被捕獲的那條語(yǔ)句會(huì)執(zhí)行,但不會(huì)輸出結(jié)果,因?yàn)檫@句話有錯(cuò)誤。不會(huì)執(zhí)行。
String s;
try{
System.out.println("adfaf"+s.length);//會(huì)執(zhí)行,但不會(huì)有結(jié)果,因?yàn)橐呀?jīng)有錯(cuò)誤
}catch(){
}
try -finally try中有錯(cuò)誤,沒(méi)有人去理會(huì)這個(gè)錯(cuò)誤,因?yàn)闀?huì)拋出異常沒(méi)有人去管理他,后續(xù)的代碼不會(huì)執(zhí)行
將全部的代碼放進(jìn)try中,一條有錯(cuò)誤整個(gè)后續(xù)程序都不會(huì)執(zhí)行,很危險(xiǎn)。只要有可能發(fā)生危險(xiǎn)的地方用try-catch接受 或者像上拋出異常
4 執(zhí)行過(guò)程
1)當(dāng)Java程序執(zhí)行try塊,catch塊的時(shí)候遇到了return 或throws語(yǔ)句,這兩個(gè)語(yǔ)句都會(huì)導(dǎo)致該方法結(jié)束,
(2)但是系統(tǒng)執(zhí)行這兩個(gè)語(yǔ)句并不會(huì)結(jié)束該方法,而是去尋找異常處理中是否包含finally塊,
(3)如果包含finally塊,先去執(zhí)行finally塊----只有當(dāng)finally塊執(zhí)行結(jié)束后系統(tǒng)才會(huì)再次跳回到try塊和catch塊里面的return或者throw,
(4)如果finally塊也使用了return 或throw等導(dǎo)致該方法結(jié)束的語(yǔ)句,finally塊已經(jīng)終止了該方法,系統(tǒng)不會(huì)再跳回try塊、catch塊里面的任何代碼;
所以我們盡量避免在包裝類里面使用throw 或 return
5 檢查型 非檢查型異常
(1) 受檢異常 ( 檢查型異常)SQLExpection編譯的時(shí)候就出現(xiàn)
java編譯器在編譯階段就會(huì)拋出的異常。要求程序員必須捕獲或聲明拋出的異常
(2)運(yùn)行時(shí)異常、上面的各種異常都是運(yùn)行時(shí)異常; 運(yùn)行的時(shí)候拋出異常
(3)Error不可恢復(fù)的異常,由JVM虛擬機(jī)拋出的不可逆轉(zhuǎn)的異常
內(nèi)存溢出 磁盤(pán)空間不足
6 實(shí)際開(kāi)發(fā)中一般不會(huì)自己定義異常,會(huì)影響開(kāi)發(fā)效率
自定義的異常要繼承Exception類
7 throws向上拋出異常
8異常:自定義的異常必須顯示拋出異常,否則程序虛擬機(jī)無(wú)法識(shí)別

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

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

  • 通俗編程——白話JAVA異常機(jī)制 - 代碼之道,編程之法 - 博客頻道 - CSDN.NEThttp://blog...
    葡萄喃喃囈語(yǔ)閱讀 3,333評(píng)論 0 25
  • 概念介紹 異常是發(fā)生在程序執(zhí)行過(guò)程中阻礙程序正常執(zhí)行的錯(cuò)誤事件,當(dāng)一個(gè)程序出現(xiàn)錯(cuò)誤時(shí),可能的情況有如下3種: 語(yǔ)法...
    niaoge2016閱讀 5,625評(píng)論 2 20
  • 初識(shí)異常(Exception) 比如我們?cè)谌?shù)組里面的某個(gè)值得時(shí)候,經(jīng)常會(huì)出現(xiàn)定義的取值范圍超過(guò)了數(shù)組的大小,那么...
    iDaniel閱讀 1,979評(píng)論 1 2
  • JAVA異常與異常處理詳解 一、異常簡(jiǎn)介 什么是異常? 異常就是有異于常態(tài),和正常情況不一樣,有錯(cuò)誤出錯(cuò)。在jav...
    java大濕兄閱讀 1,039評(píng)論 0 11
  • Photoshop越來(lái)越強(qiáng)大了!試圖掌控它的全部特性是不現(xiàn)實(shí)的(更何況有那么多隱藏的功能!),那么我們不妨收藏一下...
    快樂(lè)果果閱讀 193評(píng)論 0 0

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