java中try catch的要注意的规则

 我来答
雪飞潇潇
2015-11-17 · TA获得超过6274个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:866万
展开全部
一:使用try catch的场合

        如果不使用这种try结构时,代码报错退出就无法继续执行。有的代码出错就应该退出,有的出错尚可以补救,就不应该退出。对于这种出错不应该退出的就需要使用这种结构,在catch中进行补救。

二:使用try catch的规则

    a.尽量不要将try…catch写在循环中

    b.如果能捕获多个异常,那么先捕获小异常,在捕获大异常

	        try {
// ....

} catch (RuntimeException e) {//小异常
//处理1
} catch (Exception e) {//中异常
//处理2
} catch (Throwable t) {//大异常
//处理3
}

    c.try{ .....}代码块里面的代码尽量的少,避免出现大段大段的代码

    d.catch( ) 尽量避免使用万能代码捕获所有的异常,比如

	try {	
    //代码
} catch (Throwable t) {//这样写就捕获了所有异常,不便于区分处理
                        //Throwable 是错误和异常的父类
}

    e.适当配合finally代码块

    finally可以没有,有的话只能有一个。无论有没有发生异常,它总会在这个异常处理结构的最后运行。finally总是要执行,这以可以在异常处理最后做一些清理工作。如关闭IO流等

                try {

    //IO流代码
} catch (IOException e) {

}finally {
ioinput.close();//流的关闭
}
更多追问追答
追问
对了,教程里也讲到了要关掉io流
追答
是这样的,finally主要就是处理资源的关闭的
我一生何题
2015-11-17 · 超过17用户采纳过TA的回答
知道答主
回答量:33
采纳率:100%
帮助的人:17.8万
展开全部
如果有多个catch块, 处理范围越大异常的catch块放到后面。
更多追问追答
追问
我今天刚刚学这个有点难接受你说的详细一点行吗?
追答
比如说:
try {
……
}
catch(ClassCastException ex){
……
}
catch(NumberFormatException ex){
……
}
catch(Exception ex){ // 这个catch必须放在最后!
……
}
通俗解释:因为Exception这个是那几个异常的 老爹!
那几个异常都是他的娃,Exception放在最前面,后面娃儿就没有机会了。
专业点:异常有一个继承体系,如果你把“父异常”放在“子异常”的异常前面,那么,子异常最先会被“父异常”捕获,也就是子异常永远都捕获不了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式