最新文章

LightBlog

2019/10/24

Java 自行拋出例外 throw 及 throws

有兩種方式:
(1). 在程式敘述中,使用 throw 指定拋出例外。    throw new 例外物件;
(2). 在類別的名稱方法之後,使用 throws 指令宣告該方法所拋出的例外。
                   public void myMethod() throws Exception{

--------------------------------------------------- 程式開始--------------------------------------------------
public class ThrowException{
static float division(int num1, int num2){
float ans=0; //計算結果
try{
if (num2==0)
throw new ArithmeticException("jason自定義發生除數為零的錯誤");
ans=(float)num1/num2;

}catch(Exception e){
System.out.println("程式錯誤,錯誤原因:"+e.getMessage() );
}finally{
return ans;
}
}

public static void main(String arts[]){
System.out.println("12/0="+division(12,0));
}

}

--------------------------------------------------- 程式輸出--------------------------------------------------
E:\test>java ThrowException
程式錯誤,錯誤原因:jason自定義發生除數為零的錯誤
12/0=0.0
--------------------------------------------------- 程式開始(方法中拋出例外)------------------------------------
public class ThrowsException1{
 public int divide(int a, int b) throws ArithmeticException  //方法中拋出例外,針對divide()方法處理
        return a / b;
    }
     
    public static void main(String[] args) {
        ThrowsException1 t = new ThrowsException1( );
         
        try {
            System.out.println(t.divide(10, 25));
            System.out.println(t.divide(10, 10));
            System.out.println(t.divide(10, 5));
            System.out.println(t.divide(10, 0));
        }
        catch (ArithmeticException ex) {
            System.out.println("發生運算錯誤");
        }
    }
}
--------------------------------------------------- 程式輸出--------------------------------------------------

E:\test>java ThrowsException1
0
1
2
發生運算錯誤

沒有留言:

Adbox