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("除数错误");}
}
}
}
怎么写才是对的?才能捕捉两个错误,就是在运行的时候会同时显示“格式错误”和“除数错误”?
这样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("除数错误");
}
}