A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题,runtimeException异常可不可以既不声明也不处理?

10 个回复

倒序浏览
可以。。。
回复 使用道具 举报
是的 骚年。不用处理,如有这方面的错误 直接报错结束程序
回复 使用道具 举报
可以,因为这是运行时出现错误,说明你的代码有问题,程序已经无法继续运行,所有对RuntimeException的处理时不必要的。之所以不处理,目的就是要是程序停止,修正代码。
回复 使用道具 举报
晓风 发表于 2014-8-4 10:05
可以,因为这是运行时出现错误,说明你的代码有问题,程序已经无法继续运行,所有对RuntimeException的处理 ...

分析的很好,谢谢指点。
回复 使用道具 举报
RuntimeException程序走到这里,直接就停了.完全不用处理的.
回复 使用道具 举报
还是处理一下吧,作为程序员需要让自己的代码更加健壮,在现实工作中必须对潜在存在的错误进行拦截
回复 使用道具 举报
xj55646 发表于 2014-8-4 12:32
还是处理一下吧,作为程序员需要让自己的代码更加健壮,在现实工作中必须对潜在存在的错误进行拦截 ...

RuntimeException是不能被处理的,产生这个异常的时候并不是意味着你的代码功能出错,而是程序异常运行造成的,最明显的一个例子就是sleep(time)方法,你传一个负数进去,你觉得合适吗?此时程序出错并不是因为sleep方法的功能有问题,而是你调用者乱传参数造成的,此时你要做的就是修正你调用该方法的那个位置的代码。为什么要我来处理因你调用者而产生的问题呢?是吧,这就是运行时异常不建议使用try语句处理的原因。也不建议抛出去。抛出去的话迟早都要你处理,处理了反而会掩盖问题的所在。
回复 使用道具 举报
怀念黑海岸 发表于 2014-8-4 12:41
RuntimeException是不能被处理的,产生这个异常的时候并不是意味着你的代码功能出错,而是程序异常运行造 ...

我说拦截,只是让用户感觉不出,你可以在catch(){}代码块中进行Bug的反馈,让开发者知道错误。如果你不处理程序会闪退,你觉得这样用户体验好吗?
回复 使用道具 举报
xj55646 发表于 2014-8-4 12:48
我说拦截,只是让用户感觉不出,你可以在catch(){}代码块中进行Bug的反馈,让开发者知道错误。如果你不处 ...

你发布代码时你是需要对其测试的,经过测试好的代码用户是不会遇到这些问题的,你try语句中处理了异常并打印了异常,这会给我们一个误导:就比如刚才的那个sleep方法,这儿产生了异常的,我们想到的首先是sleep这个方法功能产生了问题,而不会去想是否是因为调用者的错误传参导致的错误,这是有区别的。
回复 使用道具 举报
推荐不处理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马