有try catch 的那种是运行时异常还是飞非运行时异常

 我来答
山之道
2009-09-12 · TA获得超过1743个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:257万
展开全部
原则上都可以。我对异常处理的习惯是只捕捉非运行期异常,我这样处,运行期异常和非运行期异常理的原因主要基于这个想法的区别是,非运行期异常是程序员所无法避免的,所以语法上强制你进行处理。而运行期异常的产生是由于程序员的错误而产生的。根据这个原则可以看出,运行期异常一般都是由于程序的bug而产生的,所以对运行期异常的处理一般是把这个异常消除,而不是进行捕捉。
举个简单的例子,你在某断程序中需要调用A getA(String b);这样一个方法,而这个方法的内部大致是这样实现的,如果你给它传的参数a符合要求,它就返回一个A实例,如果a不符合条件,就返回null,现在你这样调用了方法A a=getA(b);此时a可能是null,如果你直接使用a就会抛出空指针异常,一般情况下你可以写一个if语句判断一下,如if(a==null),也可以try,catch一个空指针异常,我是比较习惯先判断一下来防止异常的发生。
不过具体问题还是得具体分析,有时候还是直接捕捉运行期异常比较妥当。况且我也不认为jdk中的异常分类就绝对妥当。
我一直感觉java中异常处理还是比较难的一块内容,说他难并不是它的语法难,而是难在如何对异常进行合理利用,比如什么时候该抛异常,该抛什么异常,什么时候该捕捉异常,什么时候又该把异常重新向上抛,我到现在还一直在摸索与实践。
初尘OGjGN
2009-09-12 · TA获得超过346个赞
知道答主
回答量:330
采纳率:0%
帮助的人:117万
展开全部
运行时出现异常才要捕捉,没运行有异常你在try里捕捉有什么用啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式