058:对于可恢复的条件使用被检查的异常,对于程序错误使用运行时异常

对于可恢复的情况,使用受检的异常;对于程序错误,则使用运行时异常。

运行时异常
RuntimeException类及其子类都被称为运行时异常。

受检异常
被检查的异常,Exception类本身,以及Exception的子类中除了“运行时异常”之外的其他子类都属于被检查异常类型。

两者区别:
Java编译器会对受检异常进行检查,而对运行时异常不会检查。

也就是说对于受检异常要么通过throws进行声明抛出,要么通过try...catch进行捕获处理,否则编译不通过。而运行时异常没有throws和try...catch依然可以编译通过。但是同样可以对其进行throws或try...catch。

ArithmeticException(例如,除数为0),IndexOutOfBoundsException(例如,数组越界)等都属于运行时异常。对于这种异常,我们应该通过修改代码进行避免它的产生。而对于被检查的异常,则可以通过处理让程序恢复运行。例如,假设因为一个用户没有存储足够数量的前,所以他在企图在一个收费电话上进行呼叫就会失败;于是就将一个受检异常抛出。

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通俗编程——白话JAVA异常机制 - 代码之道,编程之法 - 博客频道 - CSDN.NEThttp://blog...
    葡萄喃喃呓语阅读 8,385评论 0 25
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 异常:现实生活的病现实生活中万物在发展和变化会出现各种各样不正常的现象。1:例如:人的成长过程中会生病。|——病|...
    多了去的YangXuLei阅读 4,592评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,293评论 19 139
  • 使用的NSTimer的时候一定要弱引用timer对象,否则会造成循环引用。 [NSTimer scheduledT...
    吓死宝宝了啊阅读 1,683评论 0 0