1.简述什么是异常、异常的继承体系?
Java代码在运行时期发生的问题就是异常。
异常的继承体系:
Throwable: 它是所有错误与异常的超类(祖宗类)
|- Error 错误
|- Exception 编译期异常,进行编译JAVA程序时出现的问题
|- RuntimeException 运行期异常, JAVA程序运行过程中出现的问题
2.简述异常的处理方式?
异常的处理方式:
a:JVM的默认处理方式
把异常的名称,原因,位置等信息输出在控制台,同时会结束程序。
一旦有异常发生,其后来的代码不能继续执行。
b:解决程序中异常的手动方式
a):编写处理代码 try...catch...finally
b):抛出 throws
3.throw和throws关键字的使用位置和格式?
throw:
使用位置:方法内部
使用格式:throw new 异常类名(参数);
throws:
使用位置:方法声明上
使用格式:修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2… { }
4.多个catch处理的注意事项?
有顺序:
平级异常:抛出的异常类之间,没有继承关系,没有顺序
上下级关系的异常:越高级的父类,越写在下面
5.简述finally关键字的特点和作用?
* A: finally的特点
* 被finally控制的语句体一定会执行
* B:finally的作用
* finally,无论程序是否有异常出现,程序必须执行释放资源。
如:IO流操作和数据库操作中会见到
6.Throwable类的常见方法及方法描述?
a:getMessage()方法
返回该异常的详细信息字符串,即异常提示信息
b:toString()方法
返回该异常的名称与详细信息字符串
c:printStackTrace()方法
在控制台输出该异常的名称与详细信息字符串、异常出现的代码位置
7.自定义异常的格式?
class 异常名 extends Exception{ //或继承RuntimeException
public 异常名(){
}
public 异常名(String s){
super(s);
}
}