Java异常
2024-05-30 11:15:09 17 举报
AI智能生成
Java异常
作者其他创作
大纲/内容
什么是异常
异常就是指程序在执行过程中出现的非常情况,最终导致JVM停止工作
注:异常并非是语法错误,如果是语法错误,在编译期间就会报错不通过。
注:异常并非是语法错误,如果是语法错误,在编译期间就会报错不通过。
Java异常
Java异常本身就是一个类(jdk自带以及自己实现的),产生异常就是创建异常对象并抛出异常对象
异常的作用/优势
1、引入异常后,可以把正常逻辑与错误逻辑进行分离,是业务代码更加整洁
2、针对受检异常,可以让调用者提前处理
2、针对受检异常,可以让调用者提前处理
Java异常体系
Throwable
Error(错误)
VirtulMachineError
OutOfMemoryError
StackOverflowError
ThreedDeath
Exception(异常)
RuntimeException
NullPointerException
ArrayIndexOutOfBoundsException
ArithmeticException
ClassCastException
非RuntimeException
IOException
FileNotFoundException
异常类型
Error异常
Error类及其子类。程序中无法处理的错误,表示运行应用程序中出现了严重的错误。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM出现的问题。
注:代码执行无关,但是跟代码逻辑还是有关系的,录入map无限录入数据
注:代码执行无关,但是跟代码逻辑还是有关系的,录入map无限录入数据
出现Error异常时,JVM一般会选择线程终止。
Exception
Exception异常是程序本身可以捕获并且可以处理的异常。这类异常一旦出现,我们就要对代码进行更正,修复程序
Exception又分为 运行时异常 以及 编译时异常。
运行时异常:属于不受检异常,在编译期无法发现,到执行时才能感知错误。
运行时异常都属于RuntimeException及其子类
运行时异常都属于RuntimeException及其子类
编译时异常:也叫非运行时异常,Exception类下除了RuntimeException类机器子类外都是编译器异常。
编译时异常必须通过try...catch进行捕获处理,否则不能编译通过
编译时异常必须通过try...catch进行捕获处理,否则不能编译通过
异常的分类
受检异常
接受检查的异常。也就是在代码里面必须进行处理的异常。Exception类下非RuntimeException类及其子类的都属于受检异常
注:处理异常有2种方式 捕获(try...catch) 、抛出(方法签名中用 throws 关键字抛出)
注:处理异常有2种方式 捕获(try...catch) 、抛出(方法签名中用 throws 关键字抛出)
非受检异常
编译器不会进行检查并且不要求必须处理的异常。
包括:RuntimeException异常、Error异常 以及他们的子类
包括:RuntimeException异常、Error异常 以及他们的子类
非受检异常发生时,表示程序出现错误,所以需要找出错误并修改,而不是去捕获
异常处理
throw
try..catch..finally
三种组合方式
try-catch
try-finally
try-catch-finally
throws
异常类说明
Throwable
public String getMessage()
获取异常的描述信息,原因(提示给用户的时候,就提示错误原因。
public String toString()
获取异常的类型和异常描述信息。
public void printStackTrace()
打印异常的跟踪栈信息并输出到控制台。
异常处理
多个异常分别处理
多个异常一次捕获,一次处理
0 条评论
下一页