Java的异常处理机制

**

Java的异常处理机制

**
一、异常处理机制
一个Java程序在遇到异常的时候(风险),它的处理机制是这样的:
1)将程序返回到安全状态下,提示程序的异常信息,让程序调用者可以执行其他处理方案。
2)程序不能直接被终结掉,应该让方法的调用者保存当前的状态,以适当的方式终止程序。
做到这些其实很难,程序需要将错误抛出到调用者(语句2)的地方;让调用者来处理这些信息。这就是JAVA编程语言所具有的“异常处理的机制”。

二、出现异常的因素
下列情况都会出现异常:
1)比如用不按规矩输入说好输入数字的字符串,结果呢:Integer.parseInt(“abc”);
2)设备出现问题:读取文件从U盘正读着,结果U盘被拔掉了;
3)物理限制:上传一个文件2G,而硬盘磁盘空间不足了;
4)代码错误,如数组长度超出了。

三、异常家族
Java中异常都来自于Throwable类的子类,主要有两个级别的一个是Error级别,另一个是Exception级别。

Error的特点:
1)Error是不可被控制的(unchecked);
2)Error用于表示系统级别的错误或者底层资源的错误;
3)如果要想处理Error,应该在系统的层面进行捕捉。

Exception的特点:
1)可被控制(checked) 或不可控制的(unchecked);
2)由程序员导致的错误;
3)异常都可以在应用程序层面进行处理。

异常家庭继承图谱如下图:
在这里插入图片描述

四、异常的两种检查类型
异常Exception是可以在应用层面进行捕获或者抛出的。异常也根据检查的的强弱可以分为必须检查(Checked exception)和不必须检查(Unchecked exception)两种;根据JVM对异常检查的阶段也分别称为编译时检查异常,运行时检查异常。
编译时检查异常:是Exception的子类,这种异常必须要求在编译的时候进行检查处理否则无法编译。
运行时异常:是RuntimeException的子类,这种异常无需在编译阶段检查,在程序运行的过程中再进行检查的。
例如:

int num=Integer.parseInt("abc")

在编译的时候是能够编译通过,而在运行的时候会给出报错信息,这种异常称为运行时检查异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值