JAVA11
来源:互联网 发布:网络kvm 编辑:程序博客网 时间:2024/05/22 17:23
1异常处理的概念
◆异常: 程序运行时发生的错误称为异常。
Eg:除数为0
文件不存在
数组下标越界
空指针…..
◆异常处理:处理这些异常就称为异常处理。
2异常处理的原理
Java中异常处理原理如下:
◆在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。
◆生成的异常对象将传递给Java运行时系统(JRE),这一异常的产生和提交过程称为“抛出(throw)异常”。
◆当JRE得到一个异常对象时,它首先寻找处理此异常的代码。如果找到能够处理这种类型异常的代码方法后,JRE把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。
◆如果JRE找不到可以捕获异常的方法,则JRE将终止,相应的Java程序也将退出。
★Error类对象由Java虚拟机生成并抛出;一般不能由应用程序直接处理,必须交由操作系统处理。(硬件原因造成的运行错误)
★Exception类对象由应用程序处理或抛出。Exception分为两类:
◆运行时异常
RuntimeException的子类异常。Java编译器允许程序不对它们做出处理。
◆非运行时异常
除了运行时异常之外的其他由Exception继承来的异常类。Java编译器要求程序必须捕获或声明这种异常,否则编译就报错。
3掌握异常处理的方法
Java 中可用于处理异常的两种方式:
◆自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。
◆回避异常:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理。
案例一:
自处理异常
案例二:
回避异常(抛出异常)
案例三:
回避异常(抛出异常)
4 try,catch,finally,throws,throw五个关键字
所有的异常都是由五个关键字 try、catch、throw、throws 和 finally 来处理。
★try…catch 最基本的异常处理方式
◆语法:
try{
可能发生异常的代码块;
}catch(Exception e){
异常处理代码块;
}
◆说明:
如果try中的代码块没有发生异常,则不会执行catch中的一次处理代码。
如果try中的代码发生异常,则会执行catch中的代码块。
★try…catch…finally如果无论发生什么情况,有些代码必须执行,则可以放到finally块中(eg:关闭资源、事务处理)
◆语法:
try{
可能发生异常的代码块;
}catch(Exception e){
异常处理代码块;
}finally{
必须执行的代码块;
}
◆说明:
如果try中的代码块没有发生异常,则不会执行catch中的一次处理代码,但是会执行finally中的代码块
如果try中的代码发生异常,则会执行catch中的代码块,catch中代码块执行完成后还会执行finally中的代码块。
捕获多个异常
注意:使用多重 catch语句时,异常子类一定要位于异常父类之前
★throws 处理异常(抛出异常)
★throw 抛出自定义异常
5掌握自定义异常
Java API中提供了很多的异常类,但是这些内置的异常并不能满足所有的需求,有事需要用户根据自己的业务逻辑自己定义异常。
补充
Final、finally、finalize的区别
Final修饰类:类不可被继承
Final修饰变量:变量值不可变
Final修饰方法:方法不可被重写
Finally用于捕获异常 try catch finally语句
Finalize用于处理垃圾回收
Throw throws区别
- Java11
- java11
- java11
- JAVA11
- java11-15
- 学习Java11
- ImageLoadAsyncTask.java11
- StreamTools.java11
- HealthInfo.java11
- MyBaseAdapter.java11
- java11个第三方类库
- 要点Java11 对象
- java11月13日
- Java11.11/11.12作业
- JAVA11.6作业
- JAVA11.16作业
- 重识java11
- java11-泛型Map集合,工具
- meta rem
- HDU
- JAVA10
- windows和Ubuntu共享文件
- STL queue
- JAVA11
- 垃圾收集器与内存分配策略小结
- 手机网上商城-项目经验总结(一)-项目开发流程
- Java中List和ArrayList的区别
- Flex
- 使用cl.exe在windows控制台下编译C++程序
- JDBC
- (6.0及以上)运行时获取危险权限(Dangerous Permission)
- 【笔记】软件与软件工程浅谈