第十三天:关于异常的一个小总结

来源:互联网 发布:数据挖掘公司排名 编辑:程序博客网 时间:2024/06/07 14:43

因为要重新找工作所以要重新扎扎实实的复习基础,希望可以帮到学习java的新手同学。

这个体系是我自己学习后的一个总结,大家可以补充,希望能帮助到更多的人。

底层原理详细请参考jdk文档进行分析和理解;

1.异常是什么?

异常框架的顶层类是lang包下的Throwable类,异常是指程序运行过程中出现的非正常情况,也就是运行的程序不符合java定义的语义规则,违反规则就会给你抛出异常,是抛出来让你开发人员看的,不是给人家客户抛的。

2.异常顶级throwable类的子类:

error:运行错误,就是你的机器爆了,服务器boom了,就是相当于内存溢出,堆栈溢出,等一些程序自己无法恢复和解决的哪些问题;

exception:

2.1:这个可以分为系统级异常和普通异常:

系统级异常是开发人员在开发过程中,自己的大脑cpu爆炸了,把一些东西弄错了,这个问题不可能让人家客户给你解决吧,数组越界、空指针、类型转换等等,也可以理解为你给人家的产品出了bug,那就等着被减薪吧。

普通级异常就是客户的机器爆了,看小视频被木马黑客入侵了,自己的服务器boom了,不能用了,硬盘内存不足,堆栈溢出,断电了,断网了等等问题。

2.2:针对这些异常,java的jvm和编译器给出了不同的解决的办法:

javajvm面对客户的问题,jvm的编译器要求必须声明捕获或者抛出,程序运行过程中可能出现的普通级异常,客户至上啊,不然你赚谁的钱,这个也叫检查性异常;也就是俗称的编译期异常或者一般异常;

jvm并不强制要求声明或者捕获未被抛出的系统级异常,这个东西,也就是非检查性异常,俗称运行时异常;


其实,一般情况捕获的异常,都是自己定义的异常。比如,客户小视频太多了,系统内存不足,哪么程序员设计的时候,就应该设计面对这个问题的异常,直接给客户说,你下载的小视频太多了,快删除点,不然我这个程序运行不起来,或者说这电脑太垃圾了,屌丝快换电脑吧。


就写这么点,如果有什么地方错了,希望大家指出了,我也是新手小白,希望大家互相帮助,共同进步!

·

原创粉丝点击