Java异常

异常处理

  1. 什么是异常

Java从编写到运行有两个阶段:编译 运行

编译或运行时出现的错误就是异常

2.异常处理的目的

为了使程序能够编译成功(不处理,源文件无法编译为类文件)

当程序在运行过程发生异常时能够继续有序执行(不处理,程序终止)

3.异常的分类

异常的顶层类为Throwable,

它有两个直接子类:Error , Exception

  Error即错误,是由JVM抛出,如(虚拟机错误,内存溢出)等,程序员无法处理,如果发生Error,意味着要重启

  Exception即异常,由程序员抛出,可以处理

Exceptioin又分为运行时异常和编译时异常

  运行时异常(非受检异常)RuntineException及其所有子类,不处理程序也可以完成编译,如空指针异常,下标越界等。

  编译时异常(受检异常)Exception除去RuntineException分支的所有子类,必须处理,不处理的话程序无法编译,由特定方法抛出,如果没有调用这些方法,不能处理。

5个运行时异常

空指针异常:NullPointerException:

只有引用型变量才会这样,因为没有堆内存、

下标越界异常:

ArrayIndexOutOfBoundsException(数组下标越界异常)

StringIndexOutOfBoundsException(字符下标越界异常)

数字格式化异常:

NumberFormatException

类型转化错误异常:

ClassCastException

数学异常:

ArithmeticException

5个编译时异常(不但要记忆异常的名称和含义,还由记忆这个异常是由哪个类哪个方法抛出的)

ParseException  DateFormat: Data parse(String)

try块:

        包含的是可能发生异常的代码

catch块:

         包含的是异常处理的代码,一个try块后可以包含多个catch块,

         如果多个catch块有继承关系,则子类必须在父类catch块前面

         一个catch块中可以编写多个异常(用 | 分开)

         同等级catch块没有先后顺序

怎么处理:记录错误的错误信息(保存到一个日志文件)

finally块:

              做最后的收尾工作,一般用来释放资源,不管有没有发生异常,finally块一定会执行,并且会最后执行。

throws 关键字出现在方法声明的最后面,可以声明多个异常,表示调用此方法有可能抛出声明的异常,

throw  关键字出现在方法体内,表示此方法正在向外抛出异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在加载中993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值