异常处理,error和exception区别

本文深入解析Java中的异常处理机制,包括异常的概念、分类及其在代码中的应用。详细介绍了Error与Exception的区别,以及如何通过try-catch块进行异常的捕获与处理,提升程序的稳定性和健壮性。

异常是指程序运行时(非编译时)所发生的非正常情况或错误(事先没有预料到的情况),当程序违反了语义规则时,JVM将出现的错误表示为一个异常并抛出。这个异常可以在catch块中进行捕获,然后进行处理。异常处理的目的是为了提高程序的安全性与鲁棒性。

Java语言把异常当作对象来处理,并定义了一个基类Java.lang.Throwable作为所有异常的父类。分为Error(错误)和Exception(异常)2大类。

“违反语义规则”包括2种情况:一种是Java类库内置的语义检查,例如数组下标越界,空指针异常;另一种是Java允许开发人员扩展这种语义检查,并自由选择在何时用throw关键字抛出异常。

Error表示程序在运行期间发生了非常严重的错误,且错误不可恢复,属于JVM层次的严重错误,会导致程序终止运行。编译器不会检查error是否被处理

Exception表示可恢复 的异常,是编译器可以捕捉到的,包含2种类型:检查异常(Checked Exception)和运行时异常(Runtime Exception)。

     检查异常是在程序中经常碰到的异常,比如常见IO异常和SQL异常,这些异常都发生在编译阶段,Java编译器强制程序捕捉此类型异常,把可能出现这些异常的代码放在try块中,对异常处理的代码放在catch块中。

     运行时异常不同于检查异常,编译器没有强制程序捕捉此类型异常,出现这种异常时,会由JVM处理,例如空指针异常,类型转换,数组越界,算术异常。出现运行时异常后,系统会把异常一直往上抛,直到遇到处理代码为止。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值