1. 程式人生 > >throw與throws、層層拋出異常

throw與throws、層層拋出異常

調用 -c || 處理 發的 範圍 信息 常對象 是否

一:

throw 關鍵字throw用於拋出異常 拋除異常後處理 使用try-catch捕獲異常 使用throws聲明異常

語法 throw new 異常類構造方法; throw new Exception();

static int avg(int n1,int n2)throws CustomException{

if (n1<0||n2<0) { //判斷方法參數是否滿足條件 throw new CustomException("不能使用負數");//錯誤信息

} if (n1>100||n2>100) {

throw new CustomException("數值太大了");

} return (n1+n2)/2; // 將參數的平均值返回 }

二:

throws 用於方法上,指出方法引發的異常。

可以聲明多種異常類型,用逗號分開即可。

示例 public void test throws 異常1,異常2,異常3{ }

任何方法都可以使用throws 子類覆蓋父類,子類不能聲明拋出父類範圍更大的異常方法

三:

總結:

throw用於方法體中,用來拋出一個實際的異常對象。

使用throw後,要麽使用try catch捕獲異常,要麽使用throws聲明異常 throws用於方法聲明處,用來聲明該方法可能發生的異常類型,可以是多個異常類型,用來強制調用該方法時處理這些異常

抽象方法也可以使用throws,所以說並不是有throw才有throws 如果使用throw關鍵字拋異常,一定不要使用Exception,不能很好標記異常類型 如果throw要拋出與業務邏輯有關的異常,需要使用自定義異常類

throw與throws、層層拋出異常