java捕捉异常,结合finally如何才能捕捉两个异常?

publicclassExceptionExam{publicstaticvoidmain(String[]args){try{inta,b;doublec;b=0;a=... public class ExceptionExam
{
public static void main(String[] args)
{
try{
int a,b;
double c;
b=0;

a=Integer.parseInt("33p");
//c=a/b;
//System.out.println(a+"/"+b+"="+c);

}
catch(NumberFormatException e){
System.out.println("格式错误");}

finally{

try{
c=a/b;
System.out.println(a+"/"+b+"="+c);}
catch (ArithmeticException e){

System.out.println("除数错误");}

}
}

}
怎么写才是对的?才能捕捉两个错误,就是在运行的时候会同时显示“格式错误”和“除数错误”?
展开
 我来答
你顶我试试
2012-04-20 · TA获得超过134个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:237万
展开全部
如果格式错误还有必要做除法么,一般碰到异常程序就不会往下走了,也就是说捕捉到一个错误后程序就中断了
try.catch块中try是必须的,但是catch是可以写多个的
try{
}catch(NumberFormatException e){
}catch (ArithmeticException e1{}
你catch两次就行了
追问
这样catch两次是可以的,但是最后运行的结果是只能输出一个,的确格式错误时没有必要输出了,但是我就是想用上finnlly让他可以把两句话都能够输出来。请问有方法么?
追答
int a=0, b=0;
double c;
try {
a = Integer.parseInt("33p");
} catch (NumberFormatException e) {
System.out.println("格式错误");
}
finally {
try {
c = a / b;
System.out.println(a + "/" + b + "=" + c);
} catch (ArithmeticException e) {
System.out.println("除数错误");
}
}
244371228
2012-04-20 · TA获得超过723个赞
知道小有建树答主
回答量:1435
采纳率:100%
帮助的人:614万
展开全部
try.catch块中try是必须的,但是catch是可以写多个的
try{
}catch(NumberFormatException e){
}catch (ArithmeticException e1{}
你catch两次就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pardream941026
推荐于2016-11-22 · TA获得超过8223个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1492万
展开全部
可以采用下面结构。
try {
...
} catch (IOException e) {
} catch (MYException e) {
} catch (OTHERException e) {
} finally {
try {
} catch (Exception e) {
}
}

或者:
try {
} catch (Exception e) { //Exception是根,可以捕获所有异常
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中游民
2012-04-20 · TA获得超过602个赞
知道小有建树答主
回答量:697
采纳率:33%
帮助的人:635万
展开全部
顶一、三楼,话说三楼是复制的吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式