程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> throws與throw的對比,throwsthrow

throws與throw的對比,throwsthrow

編輯:JAVA綜合教程

throws與throw的對比,throwsthrow


1、throws關鍵字通常被應用在聲明方法時,用來指定可能拋出的異常。多個異常可以使用逗號隔開。當在主函數中調用該方法時,如果發生異常,就會將異常拋給指定異常對象。如下面例子所示:
public class Shoot { 創建類
static void pop() throws NegativeArraySizeException {
//定義方法並拋出NegativeArraySizeException異常
int [] arr = new int[-3];//創建數組
}
public static void main(String[] args) {//主方法
try {
pop(); //調用pop()方法
} catch (NegativeArraySizeException e) {
System.out.println("pop()方法拋出的異常");//輸出異常信息
}
}
}

2、throw關鍵字通常用在方法體中,並且拋出一個異常對象。程序在執行到throw語句時立即停止,它後面的語句都不執行。通過throw拋出異常後,如果想在上一級代碼中來捕獲並處理異常,則需要在拋出異常的方法中使用throws關鍵字在方法聲明中指明要跑出的異常;如果要捕捉throw拋出的異常,則必須使用try—catch語句。舉例如下:
class MyException extends Exception { //創建自定義異常類
String message; //定義String類型變量
public MyException(String ErrorMessagr) { //父類方法
message = ErrorMessagr;
}
public String getMessage(){ //覆蓋getMessage()方法
return message;
}
}
public class Captor { //創建類
static int quotient(int x,int y) throws MyException{//定義方法拋出異常
if(y < 0){ //判斷參數是否小於0
throw new MyException("除數不能是負數");//異常信息
}
return x/y;//返回值
}
public static void main(String args[]){ //主方法
try{ //try語句包含可能發生異常的語句
int result = quotient(3,-1);//調用方法quotient()
}catch (MyException e) { //處理自定義異常
System.out.println(e.getMessage()); //輸出異常信息
}
catch (ArithmeticException e) {
//處理ArithmeticException異常
System.out.println("除數不能為0");//輸出提示信息
}
catch (Exception e) { //處理其他異常
System.out.println("程序發生了其他的異常");
//輸出提示信息
}
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved