throw與throws、層層拋出異常
阿新 • • 發佈:2017-07-12
調用 -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、層層拋出異常