JAVA「throws」的使用

public class ptest{

public static void main(String[] args){

double i=new Double(args[0]);

double j=new Double(args[1]);

try{

cal(i,j);

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("沒設參數");

}

}

public static double cal(double a,double b)throws ArrayIndexOutOfBoundsException{

return a+b;

}

}

--------------------------------------------------------------------------------

上面這個程式執行時請不要輸入參數

編譯沒問題

執行都會是Exception

請問上面這個程式該怎麼印出 ”沒有參數”這四個字?

是不是我的 try-catch 用錯了?

Update:

更正一下要問的問題

是怎麼印出 沒"設"參數

我打成 沒有參數 了

sorry.....

1 Answer

Rating
  • 阿逸
    Lv 6
    1 decade ago
    Favorite Answer

    你的程式應該算是try-catch設錯了沒錯

    實際跑了你的程式後發現

    電腦回報你的例外是出在 "第3行" 程式碼

    這樣你應該知道問題是出在哪裡了吧^^

    就是你try{ }只括住了cal(i,j);這行函式

    可是你的例外卻是出在double i=new Double(args[0]);這行程式碼

    所以try當然就catch不到囉

    希望我的回答對你有幫助

    Source(s): 我的實際測試
Still have questions? Get your answers by asking now.