Java的異常總結(jié)

運(yùn)行時(shí)異常衅谷,雖然要到代碼運(yùn)行時(shí)才報(bào)出來椒拗,但是其實(shí)是可以在代碼中多一些判斷,來避免:

1获黔、NullPointerException :在編程中蚀苛,就要事先考慮空指針的情況。比如根據(jù)id查詢用戶名玷氏,有可能id查找用戶時(shí)找不到堵未,即用戶對(duì)象為空指針,就要事先做好判斷预茄。

2兴溜、NumberFormatException:在字符串轉(zhuǎn)數(shù)字過程中侦厚,如果字符串有非數(shù)字字符耻陕,會(huì)報(bào)該異常。所以在轉(zhuǎn)換之前刨沦,可以事先做好判斷诗宣。

3、ArrayIndexOutOfBoundsException:數(shù)組越界異常想诅。在訪問數(shù)組元素時(shí)召庞,如果不確定是否越界,可以用索引與數(shù)組長(zhǎng)度做判斷来破。

4篮灼、ClassCastException:類型轉(zhuǎn)換錯(cuò)誤異常。在轉(zhuǎn)換對(duì)象類型之前徘禁,可以先用instanceof判斷對(duì)象是否是該類型的實(shí)例诅诱。

5、ArithmeticException:算術(shù)異常送朱。在做除法前娘荡,先判斷除數(shù)是否為0。


普通異常,即繼承Exception雷绢,底層有拋出峰弹,沒處理的話,上層必須要捕獲(編譯器強(qiáng)制)大年。

運(yùn)行時(shí)異常换薄,即繼承RuntimeException,底層有拋出鲜戒,沒處理专控,上層可以不捕獲(編譯器中沒強(qiáng)制要捕獲)。這個(gè)時(shí)候會(huì)有問題遏餐,雖然不捕獲異常伦腐,但是異常依然存在,這時(shí)候拋異常的代碼之后的代碼就得不到執(zhí)行失都。


總結(jié):

1.RuntimeException柏蘑,也就是運(yùn)行時(shí)異常,表示你的代碼本身存在BUG粹庞,比如ArrayIndexOutOfBoundsException咳焚,數(shù)組下標(biāo)越界,這個(gè)屬于代碼有問題庞溜。

控制臺(tái)一旦報(bào)RuntimeException革半,就必須要處理。流码。沒有例外的又官。而且,處理RuntimeException漫试,不是try-catch能解決的六敬。。try-catch在這里使用毫無意義驾荣。應(yīng)該在邏輯上來規(guī)避運(yùn)行時(shí)異常外构。

2.不是RuntimeException,就是編譯時(shí)異常播掷,異常只有這兩種了审编。比如你在處理文件流時(shí)的I/O問題,就屬于編譯時(shí)異常歧匈。這個(gè)時(shí)候用thr{}catch 來捕獲或者 throws即可垒酬。編譯時(shí)異常,邏輯上規(guī)避不了,所以需要捕獲的方式來解決伤溉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末般码,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子乱顾,更是在濱河造成了極大的恐慌板祝,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件走净,死亡現(xiàn)場(chǎng)離奇詭異券时,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)伏伯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門橘洞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人说搅,你說我怎么就攤上這事炸枣。” “怎么了弄唧?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵适肠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我候引,道長(zhǎng)侯养,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任澄干,我火速辦了婚禮逛揩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘麸俘。我一直安慰自己辩稽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布疾掰。 她就那樣靜靜地躺著搂誉,像睡著了一般徐紧。 火紅的嫁衣襯著肌膚如雪静檬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天并级,我揣著相機(jī)與錄音拂檩,去河邊找鬼。 笑死嘲碧,一個(gè)胖子當(dāng)著我的面吹牛稻励,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼望抽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼加矛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起煤篙,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤斟览,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辑奈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苛茂,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年鸠窗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妓羊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稍计,死狀恐怖躁绸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情臣嚣,我是刑警寧澤涨颜,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站茧球,受9級(jí)特大地震影響庭瑰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抢埋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一弹灭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揪垄,春花似錦穷吮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至酷愧,卻和暖如春驾诈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溶浴。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工乍迄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人士败。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓闯两,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漾狼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一重慢、Java 簡(jiǎn)介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,202評(píng)論 1 44
  • 一、基礎(chǔ)知識(shí):1逊躁、JVM伤锚、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,388評(píng)論 0 4
  • 在經(jīng)過一次沒有準(zhǔn)備的面試后,發(fā)現(xiàn)自己雖然寫了兩年的android代碼志衣,基礎(chǔ)知識(shí)卻忘的差不多了屯援。這是程序員的大忌,沒...
    猿來如癡閱讀 2,846評(píng)論 3 10
  • 一直以為自己是因?yàn)樽约簩?shí)力不夠才不愿起程,原來绿店,只是自己用夢(mèng)想這個(gè)夢(mèng)幻般的詞語去掩蓋自己內(nèi)心的懶惰罷了吉懊。 于...
    孤喵萌赫lz閱讀 265評(píng)論 0 0
  • 怎么與你相遇,是雨天假勿,還是明媚的午后
    千年大粽子閱讀 182評(píng)論 0 0