Java编程时将大量代码放在try-catch块的catch里到底会不会执行?
展开全部
直接在try和catch之间填充需要捕获异常的代码,之后如果有异常直接走catch分支,进行异常捕获,否则的话是不会执行的。
如:
try{
//需要捕获异常的代码
} catch (Exception e) {
System.out.println(e.getMessage());
}
解释:以上代码中如果在”//需要捕获异常的代码“ 中有错误,会直接进行控制台输出。
如:
try{
//需要捕获异常的代码
} catch (Exception e) {
System.out.println(e.getMessage());
}
解释:以上代码中如果在”//需要捕获异常的代码“ 中有错误,会直接进行控制台输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当try{}里面有相应的异常出现时,就执行catch{}里面的代码;但是try{}里面有各种异常,可以用多个catch{}来处理try{}中的各种异常,当然可以写成catch(Exception ex){},这样只要try{}中出现了异常,就执行catch(Exception ex){}中的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要有异常了,catch就会执行相应的异常,如果不是这个异常就不会执行该catch下面的语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会的,如果不信的话,你做一个指针的异常,然后再catch里面用syso打印出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class $ {
public static void main(String[] args) {
try {
Integer.parseInt("a");
} catch (NumberFormatException e) {
System.out.println("1");
e.printStackTrace();
} catch (Exception e) {
System.out.println("2");
e.printStackTrace();
}
}
}
结果是:
1
java.lang.NumberFormatException: For input string: "a"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.parseInt(Integer.java:499)
at org.apache.commons.$.main($.java:8)
看到了吧,catch NumberFormatException 的时候,有输入,catch Exception 的时候没有,原因是:抛出哪个就用哪截获,如果这个没有,就用他的直接父级异常来截获。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询