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

java中关于异常机制的认知和随感

2017-02-06 11:06 211 查看
突然发现好久没有写博客了。虽然是感觉没有什么好写的,但其实深究其原因还不是自己懒~或是自己最近没有学到什么像样子的技术?

这一个月中,我学习到的东西也不能说没有。其中dubbo,zookeeper,对异常的加深,前端的一些小知识,算是有点可圈可点之处。

算了,废话不多说了,直接进入主题吧,这篇文章没有代码,还望海涵!

异常的分类

说道异常,通常和其对比的就是错误error。但是这是简单的,大家都知道错误是我们无法改正的,毕竟不是自己写的,而是sun大神们自己弄出来的,或是你的环境的某些原因。因此错误就不谈。而异常就是throwable下的另一个大分支。
异常分类的话,基本少上就两点(本人理解),一个是jdk给你定义的,一个是你自己定义的。
jdk给你定义的异常一般是:空指针异常,类型转化异常,没有找到相关类,强制转换异常,数据库异常,io流异常等等;而自己定义的异常就是要看你自己怎么写的。就比如我可以一个
陌殇尘Exception(极不不规范,不建议)。

异常的处理

我们通常觉得异常比较麻烦或是有点困难,并不是在于异常的分类,而是关于异常的处理。
关于异常的处理,我感觉有两种分类:1、(异常内部自己相关处理);2、(自己捕获到异常然后进行相关的处理)。
不同情况使用不同的方法,不过笔者还是喜欢后者。
而对于try catch finally这三小弟来说,就没有什么太大的难度了。
一般代码是写在try中,如果中间出现了异常,就会运行catch中的代码。而如果catch中还出现了异常并且没有相关的处理,那就说明:童鞋,你的代码得修改修改了,不能这么不规范。而finally中一般都是关闭资源流的地方。所以不管是try运行完,还是catch运行,或是没有运行,finally都是会运行的。
有一个小点的说一下,就是try,catch, finally,晕倒return 会是什么情况。这点上一段就说明了,只要开始了try,finally就肯定会运行。这意味着,try中的return也是要到finally执行完之后才能运行。这其中的过程是这样的:
try中代码跑呀跑,跑到一半看到return这个大汉说:“前面没路了,给你个糖带回去吧”。这个时候try的反应就是“呀!没路了,要哦结束了,我得给我finally老爸说声”。通知了finally之后,finally就赶紧收拾完东西,跑回去了,还把那个糖上交给老婆大人(函数)。然后整个函数(方法)结束。

而关于异常处理的这一点,现在再谈。异常,其实就是一个比较特殊的类而已。我们捕获的异常就是个简单的对象,里面包含了一些轨迹呀,错误信息呀什么的。你只要把这个异常当做正常的对象进行接收,然后处理就行了。

说了这么多,结果还没有上几行代码,真是万分的难受

。想必读者也是煞费苦心才读完我这篇拙作吧,真是辛苦你们了。如果有什么看法,还请告诉我,我真的希望自己浅薄的知识能够进一步得到丰富,谢谢大家!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: