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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘笑 中级黑马   /  2012-6-29 19:33  /  1663 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我看很多程序在catch到checked异常后,都用unchecked异常包装下再次抛出,比如
try {
...
} catch (SQLException) {
throw new RuntimeException(e);
}


这样设计有什么好处???这样抛出去后,调用者不是也不知道该如何处理吗,那要抛出不就没意思了么???
到底改如何解决?3Q!

3 个回复

倒序浏览
抛出RuntimeException异常,即让程序终止~提醒使用者程序设计或者传递参数不合理,需要进行重新设计~!再运行下去无任何意义!
回复 使用道具 举报
这个我知道,这次不是百度的
这是一个异常转换,本来是一个编译时异常,throw new RuntimeException(e);
这样就变成了运行是异常,java虚拟机捕捉到该异常后显示,这样程序员就可以根据
异常的提示,找到代码的错误 。以及时修改。
回复 使用道具 举报
JAVA根据用处的不同定义了两种异常
一种是检测的异常,是Exception的子类,方法签名上需要声明throws,编译器要求咱们这帮程序员在处理这类异常或者声明throws继续往上抛。
另一种是不用检测的异常: 是RuntimeException的子类,方法签名不需要声明throws,编译器不会强制要求咱们这帮程序员处理该类异常。
异常的好处:
首先,分离正常代码和错误代码,使代码更加清晰。
其次,保护数据的正确性和完整性,程序更严谨。
最后,便于开发人员调试和排错,软件更好维护
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马