java异常
Posted 刀锋93,一只小菜鸟的逆袭之路!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java异常相关的知识,希望对你有一定的参考价值。
Throwable
Error Excepiton
错误 异常
通常是一些物理性错误 人为规定的不正常现象
StackOverflowErrow 运行时异常/编译时异常
OutOfMemoryError
Error和RuntimeException这类异常,javac编译时不检测,不需要主动添加处理异常的手段(当然你愿意加也可以)
运行时异常RuntimeException跟Error之外的其它异常都属于编译异常,必须添加处理手段,否则编译不过
处理异常的手段:
一.try{}catch(){}finally{}
1.try不能单独出现,后边必须跟一个其它结构,catch或finally都可以,当然,通常没人这么干,不catch的话那么后续代码中断达不到处理效果
2.catch可以有多个,要么多个catch捕获的异常没有继承关系,要么继承关系从小到大,如果前面的catch异常类大于后边的则,不会执行后边的catch了
3.finally可有可无,若添加了,则必执行,即使在方法中,try块里有return也会执行
4.注意方法内部返回值问题
5.注意final、finally、finalize区别。实际上这三个关键字除了长得像之外并无联系,final特征修饰符:修饰类-最终类不可被继承、方法-不可被重写、属性-值不变
finally:异常结构的一部分。finalize:在object类中有名字叫finalize的方法,这个方法的作用是,对没有指向的null对象,当GC进行回收前会自动调用该方法。
二.throws:
1.只能在方法和构造方法结构上存在(抛出异常)
2.谁调用此方法,谁处理异常。不处理的话继续向上抛
3.抛出异常可以有多个,用逗号隔开。
三.自定义异常
1.写一个类,继承Exception RuntimeException
2.类中可以写带String参数的构造方法,做详细的异常说明
3.通过throw关键字 ,new一个异常对象
以上是关于java异常的主要内容,如果未能解决你的问题,请参考以下文章