- 异常体系
- 子父类继承情况下重写方法抛异常的规则
- Throwable中的常用方法
- 异常的一些零散点
异常体系
- 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式通常是中断处理;
- 异常的根类是 java.lang.Throwable ,其下有两个子类: java.lang.Error 与 java.lang.Exception ,平常所说的异常指 java.lang.Exception 。
![11e0d1fa06dae41073ac9b8c2bd9dbab.png](https://i-blog.csdnimg.cn/blog_migrate/19a65034f0ed3e0f12f695be955b376a.png)
子父类继承情况下重写方法抛异常的规则
- 父类方法抛了异常,那么子类重写的这个方法后异常可抛也可不抛;如果抛了,要抛父类方法抛出异常的子类或者本身,父类方法没有抛异常,子类重写之后,不能抛异常;
Throwable中的常用方法
//打印异常的详细信息:包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace
void printStackTrace()
//获取发生异常的原因:提示给用户的时候,就提示错误原因,如果是自定义异常,这个原因内容是可以自己指定的
String getMessage()
//获取异常的类型和异常描述信息(用的情况比较少)
String toString()
异常的一些零散点
- 异常指的并不是语法错误,因为语法错了,编译不会通过,就不会产生字节码文件,根本不能运行起来;
- Exception表示异常,异常产生后程序员可以通过修改代码的方式纠正,使程序继续运行,是必须要处理的,但是Error几乎无法处理,只能事先避免(比如:递归不当导致的栈溢出);
- 异常分为编译时期异常和运行时期异常,Exception中除了RuntimeException(运行时异常)以外都是编译时异常;
- 异常类如何定义:①自定义一个编译期异常: 自定义类 并继承于 java.lang.Exception ;②自定义一个运行时期的异常类:自定义类 并继承于 java.lang.RuntimeException ;
- 在try/catch后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收。
注意:本文归作者所有,未经作者允许,不得转载