058:对于可恢复的条件使用被检查的异常,对于程序错误使用运行时异常
2017-11-29 08:09
323 查看
对于可恢复的情况,使用受检的异常;对于程序错误,则使用运行时异常。
运行时异常RuntimeException类及其子类都被称为运行时异常。
受检异常
被检查的异常,Exception类本身,以及Exception的子类中除了“运行时异常”之外的其他子类都属于被检查异常类型。
两者区别:
Java编译器会对受检异常进行检查,而对运行时异常不会检查。
也就是说对于受检异常要么通过throws进行声明抛出,要么通过try...catch进行捕获处理,否则编译不通过。而运行时异常没有throws和try...catch依然可以编译通过。但是同样可以对其进行throws或try...catch。
ArithmeticException(例如,除数为0),IndexOutOfBoundsException(例如,数组越界)等都属于运行时异常。对于这种异常,我们应该通过修改代码进行避免它的产生。而对于被检查的异常,则可以通过处理让程序恢复运行。例如,假设因为一个用户没有存储足够数量的前,所以他在企图在一个收费电话上进行呼叫就会失败;于是就将一个受检异常抛出。
相关文章推荐
- 对于可恢复的条件使用被检查的异常,对于程序错误使用运行时异常
- Effective Java(2nd Edition) Item 58 受检查异常用作可恢复条件,运行时异常用作程序错误
- Effective Java学习笔记: 第58条 对可恢复的情况使用受检异常,对于编程错误使用运行时异常
- Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)
- 第五十八条:对可恢复的情况使用受检异常,对编程错误使用运行时异常
- C程序访问hadoop出现的各种编译错误和运行时各种类DefFound异常的解决方法(makefile的书写和环境变量的配置)
- Android使用TabHost程序异常终止could not create tab content because could not find view with id 错误
- 使用static关键字保存和恢复程序运行状态
- 通过注册表开机运行自定义程序失败,问题检查为添加的路径错误
- 于仕琪老师《OpenCV入门教程》中某一程序在我电脑VS2008,opencv2.3.1上运行错误,“未使用调试信息生成二进制文件”,留待解决,
- C:\Windows\system32\MSVCR100.dll 没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装媒体重新安装程序,或联系您的系统管理员或软件供应商以获取支持。【解决办法】
- cocos2d-x3.0rc移植Android,程序异常退出,运行错误cannot find native library cocos2dcpp
- 使用core dump查看程序运行异常
- 使用Ghost恢复系统时提高运行速度的绝招正文分析错误
- 错误:检查您是否使用了第三方源。如果是就禁用它们,它们常常导致问题。然后在终端中运行以下命令:apt-get install -f
- 编写高质量代码改善C#程序的157个建议[用抛异常替代返回错误、不要在不恰当的场合下引发异常、重新引发异常时使用inner Exception]
- 异常详细信息: System.Data.SqlClient.SqlException: 无法打开物理文件 。。。 操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。
- VS使用进程调试出现“没有正确安装调试器。请运行安装程序安装或修复调试器”的错误,解决方法。
- 程序在运行,当我把网络突然卡断后出现的异常错误
- java 检查抛出的异常是否是要捕获的检查性异常或运行时异常或错误