java异常的处理机制

1 异常的定义

     在java中,组织当前当前方法或作用域的情况,称之为异常。

编译器异常最具有代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件夹时,一个异常就发生了,这些异常在编译时不能被简单的忽略。

运行期异常:运行期异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

错误:错误是脱离程序员控制的问题,错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译期也检查不到的。

1.1异常的分类

1.1.1 运行期异常

    由系统检测,用户的Java程序中可以不做处理,系统将他们交给缺省的异常处理程序

1.1.2 编译器异常

   在程序中必须对其进行处理,否则编译器会指出错误。

2 异常的继承结构

1)Java中所有不正常类都继承于Throwable类。主要包含Error类和Exception类;

2)Error类包括虚拟机错误和线程死锁,一旦出现,程序就彻底挂了。

3)Exception类,就是通常说的“异常”。

4)RuntimeException主要包括四种异常

1.算术异常

2.类型转换异常

3.数组下标越界

3.空指针异常

3 异常处理机制

3.1异常的捕获

try代码块

所有可能抛出异常的语句都放入try块中。

catch(必有)代码块

用于处理try块中所有生成异常的事件,当捕获一个异常时剩下的catch语句就不再进行匹配。

finall(可选)

无论是否发生异常finally代码块中的代码都会被执行。

异常捕获示例演示

3.2 抛异常

throws/throw关键字

1)一个方法不处理它产生的异常,而是沿着调用层次向上传递,由调用它的方法来处理这些异常,叫声明抛出异常(throws)。

2)抛出异常就是产生异常对象的过程,首先要生成异常对象,异常或者由虚拟机生成,或者由某些类的实力生成,也可以在程序中生成。

3)可以抛出的异常必须是throwable的子类

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值