这么使用方法有问题么?
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() 方法的结果。