日期:2014-05-20  浏览次数:20858 次

这么使用方法有问题么?
public   int   division(int   a,int   b)   throws   Exception
{
try
{
return   a/b;
}
catch(ArithmeticException   e)
{

e.printStackTrace();
throw   new   Exception( "cannot   divide   by   zero ");
}

}
public   int   fn1(int   a,int   b)   throws   Exception  
{
return   division(a,b);
}
}

问题1:这里面的division和fn1功能都是除对么,只是division有异常判断。
问题2:throws的时候ArithmaticException跟Exception有什么不同的地方,需要注意什么。
问题3:e.toString()和e.printStackTrace()的区别是什么

十分感谢大家
这些问题在我看来是高不可攀的,真的羡慕大家什么都会

------解决方案--------------------
1: 两个方法没有太大的区别,division也只是简单的catch异常然后包装成Exception抛出
2: ArithmaticException是Exception的子类,对于具体的方法,尽量抛出具体的异常
3: toString方法返回的是对象的字符串表示,而e.printStackTrace()是打印异常对象的轨迹,输出的第一行包含此对象的 toString() 方法的结果。