认识异常
1、什么是异常
异常就是java代码在运行过程中出现的错误/bug;
// 数组索引越界异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
2、异常体系
Error是系统级别的错误,是有sun公司员工处理
Exception,异常,这个才是我们程序开发遇到的错误,我们通常使用Exception以及它的的子类来封装程序出现的问题
- 运行时异常 RuntimeException及其子类,编译过程不会报错,运行过程出现异常
- 编译时异常 不是RuntimeException的子类,编译过程中会提醒程序员可能会出问题,必须处理否则程序无法运行
3、异常的作用
- 用于查询系统bug出现的关键信息
- 作为特殊返回值返回给调用者,便于知道代码的执行情况
自定义异常
1.什么是自定义异常
java为我们为可能出现的问题定义了异常类,在使用过程中需要把一些特定问题想要使用当做异常来管理这个时候就需要自定义异常,简单来说就是自己定义的异常类就是自定义异常。
2.分类
- 自定义运行时异常
// 1.定义异常类继承RuntimeException
public class TestRuntimeException extends RuntimeException{
// 2.重写构造方法
public TestRuntimeException() {
}
public TestRuntimeException(String message) {
super(message);
}
}
- 自定义编译时异常
// 1.定义异常类继承Exception
public class TestException extends Exception{
// 2.重写构造器
public TestException() {
}
public TestException(String message) {
super(message);
}
}
异常处理
- 1、抛出异常(throws)
// 方法名 + throws+ 异常类1,异常类2
public static void test01() throws TestException{
}
// 方法名 + throws+ 异常类 (推荐)
public static void test01() throws Exception{
}
- 2、捕获异常(try…catch…)
// 1
try {
}catch ( 异常类型1 e){
e.printStackTrace();
}catch ( 异常类型2 e){
e.printStackTrace();
}
// 2 推荐
try {
}catch ( Exception e){
e.printStackTrace();
}