国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JAVA從入門到精通(12)-- 錯(cuò)誤處理

2019-11-06 07:49:00
字體:
供稿:網(wǎng)友

一、java異常簡(jiǎn)介

1》異常簡(jiǎn)介:

a、異常處理的作用

b、Java異常體系結(jié)構(gòu)的簡(jiǎn)介

2》處理異常:

a、try-catch以及try-catch-finally

b、拋出異常

c、自定義異常

d、異常鏈

3》異常定義:

有易于常態(tài),和正常情況不一樣,有錯(cuò)誤出現(xiàn),阻止當(dāng)前方法或作用域,稱之為異常。

4》異常的體系結(jié)構(gòu)

Throwable----->Error  :不常見的錯(cuò)誤類型,通常指系統(tǒng)錯(cuò)誤,比如:虛擬機(jī)錯(cuò)誤或線程死鎖(程序終結(jié)者)

|

|------------->Exception:異常,比如指編碼、環(huán)境、用戶操作輸入出現(xiàn)問題

|-------->非檢查異常:RuntimeException:比如空指針異常、數(shù)組下標(biāo)異常、算數(shù)異常

|-------->檢查異常:比如:文件異常、SQL異常

二、處理異常

1》try {

//一些會(huì)拋出異常的方法

}catch(Exception  e){

//處理該異常的代碼塊

}

如果try中確實(shí)發(fā)生異常了,程序?qū)?huì)終止執(zhí)行,程序的控制權(quán)將被移交給catch塊中的異常處理程序。

catch如何處理呢?可以發(fā)出警告,或者記錄錯(cuò)誤日志。

2》多重try-catch塊

處理不同的異常

注:catch塊是先子類后父類。

3》try-catch-finally

try {

//一些會(huì)拋出異常的方法

}catch(Exception  e){

//處理該異常的代碼塊

}...(n個(gè)catch塊)...{

}finally{

//最終將要執(zhí)行的一些代碼

}

三、Java中異常拋出以及自定義異常

1》異常拋出

throw:將產(chǎn)生的異常拋出(動(dòng)作)

throws:寫在方法名和方法參數(shù)表之后,方法體之前,可拋出多種異常,每個(gè)異常用 , 隔開

聲明將要拋出何種類型的異常(聲明)

public  void  方法名(參數(shù)列表)  throws  異常列表{

//調(diào)用會(huì)拋出異常的方法或者:

throw   new    Exception() ;

}

2》自定義異常

自定義異常:自己定義的異常類型

class   自定義異常類    extends   異常類型{}

四、異常鏈

1》定義:捕獲的異常包裝成新的異常,新的異常添加對(duì)原始異常的引用,再把新的異常拋出。

五、實(shí)際應(yīng)用的經(jīng)驗(yàn)和總結(jié)

1》處理運(yùn)行時(shí)異常時(shí),采用邏輯去合理規(guī)避同時(shí)輔助try-catch處理

2》在多重catch塊后面,可以加一個(gè)catch(Exception)來處理可能會(huì)被遺漏的異常

3》對(duì)于不確定的代碼,也可以加上try-catch,處理潛在的異常

4》盡量去處理異常,切忌只是簡(jiǎn)單的調(diào)用PRintStackTrace()去打印輸出,可加以適當(dāng)?shù)妮o助,例如:業(yè)務(wù)的回滾

5》具體如何處理異常,要根據(jù)不同的業(yè)務(wù)需求和異常類型去決定。

6》盡量添加finally語句塊去釋放占用的資源


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沂水县| 澄城县| 荔波县| 井陉县| 略阳县| 潼关县| 安庆市| 蓝田县| 诏安县| 平遥县| 宁乡县| 宣武区| 平遥县| 普洱| 灵丘县| 平原县| 肃宁县| 新疆| 绵竹市| 金秀| 三河市| 大方县| 邵阳县| 绥棱县| 新乡市| 辉南县| 淮北市| 乐清市| 内黄县| 芦溪县| 新余市| 射洪县| 盐城市| 东兴市| 左云县| 玉溪市| 涞源县| 宜宾市| 广南县| 安国市| 商都县|