arctanx
2007-04-14 16:23:53 UTC
這是課本上寫的
public class Ex2
{
public static void main(String[] arg)
{
int a=10,b=0,c;
try
{
c=a/b;
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
System.out.println("這裡一定會被執行");
}
}
}
後來自己寫一個簡單的
public class Ex1
{
public static void main(String[] arg)
{
double a,b,c=0;
a=Double.parseDouble(arg[0]);
b=Double.parseDouble(arg[1]);
try{
c=a/b;
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
}
//System.out.println("c="+c);
}
}
結果跟我想的不太一樣
我本來想說java Ex1 2 0
希望得到e.toString() 的error message
結果一個東西都沒有XD
我看課本寫說
當他執行偵測錯誤try block 那裡面的statement
當執行到錯誤就會跳到對應的catch裡面
難道說 他沒掉到我的catch裡面嘛?
可是當註解拿掉
卻又跑出c=Infinity
請問這是什麼原因阿?
先謝摟~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.116.152
public class Ex2
{
public static void main(String[] arg)
{
int a=10,b=0,c;
try
{
c=a/b;
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
System.out.println("這裡一定會被執行");
}
}
}
後來自己寫一個簡單的
public class Ex1
{
public static void main(String[] arg)
{
double a,b,c=0;
a=Double.parseDouble(arg[0]);
b=Double.parseDouble(arg[1]);
try{
c=a/b;
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
}
//System.out.println("c="+c);
}
}
結果跟我想的不太一樣
我本來想說java Ex1 2 0
希望得到e.toString() 的error message
結果一個東西都沒有XD
我看課本寫說
當他執行偵測錯誤try block 那裡面的statement
當執行到錯誤就會跳到對應的catch裡面
難道說 他沒掉到我的catch裡面嘛?
可是當註解拿掉
卻又跑出c=Infinity
請問這是什麼原因阿?
先謝摟~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.116.152