您的位置:首页 > 编程语言 > Java开发

谈java Throwable

2015-09-26 21:16 477 查看
java语言中,异常的分类如下:

第一个层级:Throwable

第二个层级:Error,Exception

第三个层级:Error的子类,RuntimeException,自定义异常(继承Exception)

RuntimeException异常是unchecked异常,可以不用在方法签名上进行生命,可以在合适的地方直接抛出,

自定义的异常(继承Exception)是checked异常,必须check,必须进行处理。

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

关于异常的价值,我总结如下,

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

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

总结:我觉得异常(对象)的存在(我们创建的异常对象),让我们能够在异常事件发生前做好尽量好的容错,尽量好的编码,尽量好的强壮,总之,利用好异常,我们可以做到未雨绸缪。

如果,你不知道怎么在什么时候定义一个方法是否抛出异常,不知道你抛出的异常的价值在哪里,那么就算抛出异常,只会让你觉得有点乱,有点画龙点睛,多此一举,可有可无,多想想异常的价值,好好利用吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: