谈java Throwable

来源:互联网 发布:喀秋莎视频编辑软件 编辑:程序博客网 时间:2024/05/04 19:01

java语言中,异常的分类如下:
第一个层级:Throwable
第二个层级:Error,Exception
第三个层级:Error的子类,RuntimeException,自定义异常(继承Exception)

RuntimeException异常是unchecked异常,可以不用在方法签名上进行生命,可以在合适的地方直接抛出,
自定义的异常(继承Exception)是checked异常,必须check,必须进行处理。

关于异常之间的转换,普通的自定义异常转换成RuntimeException,这里不做介绍。

关于异常的价值,我总结如下,
1.异常可以让我们知道,程序可能会在什么地方(将异常写到日志文件中),什么环节出现问题,虽然事实上出现这种问题的可能性可大可小,甚至从来都不会发生。

2.捕获异常,可以让我们事先来处理异常发生时,我们可以做点什么,比如中断程序继续执行(上抛异常,上抛到让用户可知,可接受),或者改变程序的执行逻辑,原先的执行路线改变。

总结:我觉得异常(对象)的存在(我们创建的异常对象),让我们能够在异常事件发生前做好尽量好的容错,尽量好的编码,尽量好的强壮,总之,利用好异常,我们可以做到未雨绸缪。
如果,你不知道怎么在什么时候定义一个方法是否抛出异常,不知道你抛出的异常的价值在哪里,那么就算抛出异常,只会让你觉得有点乱,有点画龙点睛,多此一举,可有可无,多想想异常的价值,好好利用吧。

0 0
原创粉丝点击