面向对象(①③)

异常
程序运行时发生的错误称为异常,处理这些异常就称为异常处理。

异常处理原理如下:
◆在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。
◆生成的异常对象将传递给Java运行时系统(JRE),这一异常的产生和提交过程称为“抛出(throw)异常”。
◆当JRE得到一个异常对象时,它首先寻找处理此异常的代码。如果找到能够处理这种类型异常的代码方法后, JRE把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。
◆如果JRE找不到可以捕获异常的方法,则JRE将终止,相应的Java程序也将退出。
异常的父类是Throwable包括系统的Error错误和Exception异常,常用的Exception是RuntimeException(运行时错误)、IOException(输入输出错误)和SQLException(SQl语句错误),常见的RuntimeException有IndexOutOfBoundsException(下标越界)、NullPointerException(空指针)、ClassCastException(类型转换)、ArithmeticExecption(计算异常)。
Error类对象由Java虚拟机生成并抛出;一般不能由应用程序直接处理,必须交由操作系统处理。(硬件原因造成的运行错误)
运行时异常一般是程序员本身造成,自行找错,一般错误必须捕获或声明这种异常,否则编译就报错。

Java 中可用于处理异常的两种方式:
◆自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。
◆回避异常:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理。
一般使用自行处理,不然在调用时又会出错,很麻烦。

异常中的关键字:
throws捕获并向外抛出异常
throw抛出异常(自定义)
try catch是内部捕获异常并做自定义处理
finally是无论是否有异常都会被处理的语句(除非在finally前存在被执行的System.exit(int i)时除外)
注意:使用多重 catch 语句时,异常子类一定要位于异常父类之前
       Final、finally、finalize的区别
       Throw  throws区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值