Java编程时将大量代码放在try-catch块的catch里到底会不会执行?

指catch到异常时。感觉有的时候会,有的时候不会呀。求解答。... 指catch到异常时。感觉有的时候会,有的时候不会呀。求解答。 展开
 我来答
198901245631
推荐于2017-09-26 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1767万
展开全部
直接在try和catch之间填充需要捕获异常的代码,之后如果有异常直接走catch分支,进行异常捕获,否则的话是不会执行的。
如:
try{
//需要捕获异常的代码
} catch (Exception e) {
System.out.println(e.getMessage());
}
解释:以上代码中如果在”//需要捕获异常的代码“ 中有错误,会直接进行控制台输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
原来还有风光吗
2013-08-12 · 超过11用户采纳过TA的回答
知道答主
回答量:148
采纳率:0%
帮助的人:51.8万
展开全部
当try{}里面有相应的异常出现时,就执行catch{}里面的代码;但是try{}里面有各种异常,可以用多个catch{}来处理try{}中的各种异常,当然可以写成catch(Exception ex){},这样只要try{}中出现了异常,就执行catch(Exception ex){}中的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xjyworkspace
2013-08-12 · 超过32用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:77.2万
展开全部
只要有异常了,catch就会执行相应的异常,如果不是这个异常就不会执行该catch下面的语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
若木寻竹
2013-08-12 · TA获得超过279个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:145万
展开全部
会的,如果不信的话,你做一个指针的异常,然后再catch里面用syso打印出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
推荐于2017-09-12 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:967万
展开全部
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 的时候没有,原因是:抛出哪个就用哪截获,如果这个没有,就用他的直接父级异常来截获。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式