(十四).try-throw-catch機制

禿頭也打碼發表於2019-01-20

1.throw語句

1).語法
throw new Exception_Class_Name(Possibly_Some_Arguments);

執行throw語句時,try快內部程式碼立即停止執行,把控制傳遞給catch快。

throw是一個運算子,new Exception_Class_Name(Possibly_Some_Arguments)是申請了一個匿名自變數。

2.catch語句

1).語法

catch(Exception_Class_Name Catch_Block_Parameter)
{
<try 塊中丟擲該異常類的一個異常時執行的程式碼>

}

Catch_Block_Parameter可以是任何合法的識別符號,識別符號並不是必須的。

catch塊引數是catch塊頭部的一個識別符號,充當一個可能被丟擲的異常的佔位符。

3.異常處理大致流程

try
{
Some_Statement;
<一個throw語句,或者一個可能丟擲異常的方法呼叫;或者其他可能丟擲異常的語句。>

}

catch(Exception_Class_Name Catch_Block_Parameter)
{
<try 塊中丟擲該異常類的一個異常時執行的程式碼>
}
finally
{
<無論是否丟擲異常都會執行>
}

4.getMessage方法

每個異常物件都有一個String例項變數,它包含某種訊息,通常是識別符號異常的原因。例如:
 
     throw  new  Exception(String_Arguments);

如果該物件稱為e,則方法呼叫e.getMessage返回該字串。

例項:
在一個try語句中有如下throw語句和對應的throw語句:

throw new Exception(“good”);

catch(Exception e)
{
System.out.print(e.getMessage());

}

則輸出
good

相關文章