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