
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("除数错误");}
}
}
}
怎么写才是对的?才能捕捉两个错误,就是在运行的时候会同时显示“格式错误”和“除数错误”? 展开
{
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("除数错误");}
}
}
}
怎么写才是对的?才能捕捉两个错误,就是在运行的时候会同时显示“格式错误”和“除数错误”? 展开
4个回答
展开全部
如果格式错误还有必要做除法么,一般碰到异常程序就不会往下走了,也就是说捕捉到一个错误后程序就中断了
try.catch块中try是必须的,但是catch是可以写多个的
try{
}catch(NumberFormatException e){
}catch (ArithmeticException e1{}
你catch两次就行了
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("除数错误");
}
}
展开全部
try.catch块中try是必须的,但是catch是可以写多个的
try{
}catch(NumberFormatException e){
}catch (ArithmeticException e1{}
你catch两次就行了
try{
}catch(NumberFormatException e){
}catch (ArithmeticException e1{}
你catch两次就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以采用下面结构。
try {
...
} catch (IOException e) {
} catch (MYException e) {
} catch (OTHERException e) {
} finally {
try {
} catch (Exception e) {
}
}
或者:
try {
} catch (Exception e) { //Exception是根,可以捕获所有异常
}
try {
...
} catch (IOException e) {
} catch (MYException e) {
} catch (OTHERException e) {
} finally {
try {
} catch (Exception e) {
}
}
或者:
try {
} catch (Exception e) { //Exception是根,可以捕获所有异常
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顶一、三楼,话说三楼是复制的吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询