💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## **Java异常** 异常:是Java代码编译或者运行过程中出现的问题 异常的继承体系: Throwable:可以抛出去异常 Exception:异常(普通问题) 编译时异常,编译 的时候出的问题.指的是RuntimeException 以及RuntimeException的子类 Error:错误 比如:OutOfMemoryError:超出内存错误 如果程序出现了错误,只能改代码 ## **异常的基本操作** 创建异常对象(JDK已定义的异常会自动创建对象,自定义异常需要手动创建) 对于异常的基本操作: a,抛出异常:JDK已定义的异常会抛出创建对象,自定义异常需要手动抛出 b,处理异常:捕获异常,使用try/catch做分支处理 异常处理指,处理的一种可能性,即有了异常处理的代码,不一定产生异常 如果没有异常,则代码正常执行,如果产生了异常,则中断当前执行代码,执行异常处理代码 ### **异常处理注意事项:** 运行时异常可以不处理,不捕获也不声明 如果父类方法抛出多个异常,子类覆盖父类方法时,只能抛出相同 的异常或者他的子集 父类方法没有抛出异常,子类覆盖父类方法时也不可抛出异常,此时子类产生该异常只能捕获处理,不能声明抛出(多线程会用到) 当多异常处理时,捕获处理,前面的类不能是后面的类的父类 在try catch 后可以追加finally代码块,其中的代码一定会被执行,通常用于资源回收 ### **区分异常类 哪些是编译时异常 Exception以及他的子类(runtimeException除外) 哪些是运行时异常\ RuntimeException以及他的子类 技巧,如何区分一个异常类 1.编译时异常,在编译时会报错,需要我们处理 2,运行时异常,只要定义一个方法,在方法中抛出一个异常,如果编译时报错,那么就是编译时异常,如果编译成功就是有哪些时异常, ### **常见运行时异常:** 1.runtimeException 2,ClsssCastException:类型转换异常(向下转型的时候) 3,ArrayIndexOutOfBoundException:数组下标越界 4,StringIndexOutOfBoundException:字符串下标越界 5,NullPointerException:空指针异常