多異常處理

2021-08-08 15:42:22 字數 2689 閱讀 2911

多異常處理

捕獲處理:

1多個異常分別處理

2多個異常一次捕獲多次處理

3多個異常一次捕獲一次處理

宣告丟擲異常:

宣告上使用,一次宣告多個異常    

執行時異常被丟擲可以不處理。即不捕獲也不宣告丟擲

如果父類丟擲了多個異常,子類覆蓋父類方法時,只能丟擲相同的異常或者是他的子集

父類方法沒有丟擲異常,子類覆蓋父類該方法時也不可丟擲異常。此時子類產生該異常,只能捕獲處理,不能宣告丟擲

當多異常處理時,捕獲處理,前邊的類不能是後邊類的父類

在try/catch後可以追加finally**塊,其中的**一定會被執行,通常用於資源**。

**演示:

void show()catch(exceptione) }

乙個try 多個catch組合: 對**進行異常檢測,並對檢測的異常傳遞給catch處理。對每種異常資訊進行不同的捕獲處理。

void show()catch(***exceptione)catch(yyyexceptione)catch(zzzexceptione) }

注意:這種異常處理方式,要求多個catch中的異常不能相同,並且若catch中的多個異常之間有子父類異常的關係,那麼子類異常要求在上面的catch處理,父類異常在下面的catch處理。

try finally 組合: 對**進行異常檢測,檢測到異常後因為沒有catch,所以一樣會被預設jvm丟擲。異常是沒有捕獲處理的。但是功能所開啟資源需要進行關閉,所有finally。只為關閉資源。

void show()finally }

例題請用**實現如下需求:

寫乙個方法實現獲取字串某個索引上的字元的功能

寫乙個測試測試方法呼叫上面寫的方法,使用thows方式進行處理異常,並在main方法中呼叫這個測試方法

再寫乙個測試測試方法呼叫上面寫的方法,使用try...catch方式進行處理異常,並在main方法中呼叫這個測試方法

/* 定義 test類

提供乙個靜態方法:publicstatic char charat(string str, int index) 用於獲取字串str,index索引處的字元

在方法中charat(string,intindex)

當字串為null丟擲 exception("字串不能為null")異常,

當字串為"" 的時候丟擲 excetion("字串不能為空") 異常;

當index不在[0,str.length()-1] 之間的時,丟擲exception("索引越界") 異常.

否則返回str在index索引的字元

提供乙個靜態的方法testthrows()用於測試charat(string,intindex)方法

在方法中呼叫charat(string,int index)方法;

注意需要測試每一種情況

體會: 程式一旦遇到異常後面的**就不執行了

注釋執行過測試的**,繼續測試下一種情況

使用throws方式對異常進行處理

在main方法中,呼叫本方法

提供 乙個靜態方法testtrycatch(),用於測試charat(string,int index)方法

在方法中呼叫charat(string,int index)方法;

i.注意需要測試每一種情況

使用try...catch方式對異常進行處理

在main方法中,呼叫本方法. */

public

classtest10

//         當字串為"" 的時候丟擲 excetion("字串不能為空") 異常;

if(

str.equals(

""))

//         當index不在 [0,str.length()-1] 之間的時,丟擲exception("索引越界") 異常.

if(

index

< 0 ||

index

>=

str.length())

//         否則返回str在index索引的字元

returnstr

.charat(

index);}

//   提供乙個靜態的方法testthrows() 用於測試charat(string,int index)方法

public

static

voidtestthrows()throwsexception

//   提供 乙個靜態方法testtrycatch(),用於測試charat(string,int index)方法

public

static

voidtesttrycatch()catch(exception e)

system.out

.println(

"程式繼續");

} public

static

voidmain(string

args

)     }

mysql 多異常 處理 MySQL異常處理彙總

mysql錯誤處理彙總 mysql無法啟動 mysql啟動時提示timeout error occurred trying to start mysql daemon 解決辦法 執行 usr bin mysql install db,修復下就ok了.mysql資料表無法使用 啟動後發現所有的資料表都...

mysql 多異常 處理 MYSQL效能異常處理

通過information schema.processlist表中的連線資訊生成需要處理掉的mysql連線的語句臨時檔案,然後執行臨時檔案中生成的指令 mysql select concat kill id,from information schema.processlist where use...

Java學習第10天(3) 異常機制 多異常處理

對多異常的處理。1,宣告異常時,建議宣告更為具體的異常。這樣處理的可以更具體。2,對方宣告幾個異常,就對應有幾個 catch 塊。不要定義多餘的 catch 塊。如果多個catch 塊中的異常出現繼承關係,父類異常catch 塊放在最下面。建立在進行catch 處理時,catch 中一定要定義具體處...