400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > java > 【Java基礎(chǔ)知識(shí)】Java中的異常如何處理

【Java基礎(chǔ)知識(shí)】Java中的異常如何處理

  • 發(fā)布: java培訓(xùn)
  • 來(lái)源:Java干貨資料
  • 2020-01-03 18:06:25
  • 閱讀()
  • 分享
  • 手機(jī)端入口

在Java編程中,我們或多或少的會(huì)遇到一些程序異常的情況,為了不影響程序的正常執(zhí)行,我們需要在程序發(fā)生異常的情況下,進(jìn)行一些操作來(lái)防止造成更大的損失。例如在我們平時(shí)的除法運(yùn)算中,被除數(shù)是不能為0的,如果為0就會(huì)造成異常,同樣在計(jì)算機(jī)程序中,如果除以一個(gè)為0的數(shù)字,那么這個(gè)語(yǔ)句就會(huì)是一個(gè)錯(cuò)誤的語(yǔ)句,這樣就會(huì)造成程序異常,后面的程序就會(huì)執(zhí)行不下去,所以Java使用異常機(jī)制可以處理這樣的情況,在出現(xiàn)這種情況之后,把這個(gè)異常捕獲進(jìn)行處理,從而不會(huì)影響后面的程序。

在Java中使用try{可能發(fā)生異常的程序模塊}catch(Exception e){} finally{} 的語(yǔ)法規(guī)范來(lái)進(jìn)行異常的處理,將可能發(fā)生異常的地方放入到try的模塊中,當(dāng)模塊中的語(yǔ)句確實(shí)發(fā)生了異常之后,就會(huì)被后面的catch進(jìn)行捕獲,然后我們可以在catch模塊中進(jìn)行異常的處理,處理完成之后,程序會(huì)繼續(xù)往下進(jìn)行,不會(huì)影響到后面的處理。

有時(shí)候在我們捕獲了異常之后,由于try里面的異常語(yǔ)句之后還有其他的語(yǔ)句需要執(zhí)行,比如我們開(kāi)始打開(kāi)了文件,但是在讀取文件的時(shí)候發(fā)生了異常,但是我們需要在最后將文件關(guān)閉,否則文件就會(huì)被一直占用,這時(shí)候我們可以在finall模塊中將文件進(jìn)行關(guān)閉。

Java中的異常和處理詳解

在Java中有一類(lèi)異常叫做運(yùn)行時(shí)異常(RuntimeException),這類(lèi)異常情況我們可以不強(qiáng)制使用try catch進(jìn)行捕獲程序也可以編譯執(zhí)行,比如空指針異常或者數(shù)組越界的異常,這種情況,如果在程序沒(méi)有遇到這種情況的時(shí)候,程序正常執(zhí)行,但是當(dāng)程序遇到這些情況,程序就會(huì)報(bào)錯(cuò)了。還有另一類(lèi)的異常非運(yùn)行時(shí)異常,這類(lèi)異常需要我們需要進(jìn)行try catch進(jìn)行捕獲處理,否則的話(huà)程序不可編譯,在編譯的時(shí)候就會(huì)報(bào)錯(cuò),例如文件操作的時(shí)候,就屬于這類(lèi)的異常。

在我們編碼的過(guò)程中,有時(shí)候不想在當(dāng)前模塊或者方法里面處理異常,則我們可以將異常往上拋,也就是將異常拋給調(diào)用我們這個(gè)方法的那個(gè)模塊,在那個(gè)模塊中進(jìn)行異常的處理,我們可以使用關(guān)鍵字throws關(guān)鍵字將異常拋給上一級(jí),基本的語(yǔ)法格式是:public void fun() throws IOException {},這樣我們就不需要強(qiáng)制在當(dāng)前方法中進(jìn)行try catch處理。

文章“【Java基礎(chǔ)知識(shí)】Java中的異常如何處理”已幫助

>>本文地址:http://hqfphsz.com/zhuanye/2020/48257.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME