← 返回首页
Java学习

5.异常

2026-09-21·1 次浏览
5.异常

1.异常

1.1 什么是异常

Java中的错误可以分为两类:一类是编译时的错误,语法错误;一类是运行时的错误。

Java程序先编译再运行,将Java文件编译成计算机能够识别的的字节码文件

运行时错误可以顺利通过编译,语法没有问题,但是运行的时候报错

在Java中,错误也可以看成是一种对象,Java中有一组专门来描述各种不同错误的类,叫做异常类,Java结合异常类提供了处理错误的机制

步骤:当程序出现错误的时候,会常见一个包含错误信息的异常类的实例化对象,并将该对象交给系统,然后由系统转交给能够处理这个异常的代码进行处理

异常可以分为两类,包括Error和Exception,Error指系统错误,由JVM生成,程序无法处理,Exception指程序运行期间出现的错误,程序可以处理

1.2 异常的使用

try-catch,结合起来使用,用try来监听可能抛出异常的代码,一旦捕获异常,就生成异常对象交给catch里的代码来进行处理

除了使用try和catch关键字,还会用到finally关键字,无论程序是否抛出异常,finally里的代码块中的程序都会执行,finally一般跟在catch代码后面

Copy
try{
 //可能会抛出异常的代码
}catch(异常对象){
 //异常处理代码
}fianll{
 //必须执行的代码
}

1.3 异常类

Java将运行时出现的错误全部封装成类,并且不是一个类,而是一组类,同时这些类之间是有层级关系的,处在最顶端的类是Throwable,是所有异常类的根节点

Throwable有两个直接子类:Error和Exception

Error:AWTError、IOError、OutOfMemoryError

Exception:IOException、RunTimeException

常用的异常类:

ArithmeticException:表示数学运算异常

ClassNotFoundException:表示类未定义异常

IllegalArgumentException:标识参数格式错误异常

ArrayIndexOutOfBoundsException:数组下标越界异常

NullPointerException:空指针异常

NoSuchMethodException:方法未定义异常

NumberFormatException:数值类型转换异常

1.4 throw和throws

throw和throws都是Java在处理异常时使用的关键字,都用来抛出异常

throw是主动抛出一个异常对象

java Copy
Exception exception = new Exception("测试错误");
throw exception;

throws是用来声明方法可能会抛出一个异常

java Copy
public static void test(int index) throws Exception{
	int[] array = {1,2,3};
	System.out.println(array[index]);
}

1.4 自定义异常类

在实际开发中,除了使用Java提供的异常类之外,也可以根据需求来自定义异常类

java Copy
public calss MyNumberException extends Exception {
	public MyNumberException(String error){
		super(error);
	}
}

public int add(Object object) throws MyNumberException{
    if(!(object instanceof Integer)){
        Stirng error = "传入的参数不是整数类型";
        throw new MyNumberEception(error);
    }else{
        int num = (int)object;
        return num++
    }
}
── 完 ──

评论

还没有评论,来说点什么
发表评论
0 / 1000