异常
来源:互联网 发布:oecd数据公布 编辑:程序博客网 时间:2024/06/05 04:36
在java中我们最常遇见的就是异常了,有的异常是可以修复的,而有的异常是修复不了的,下面我们就来说一下异常的处理机制
Java异常处理机制
在java中遇到异常会产生一个异常对象
生成的异常对象传递给JRE的过程叫做抛出(throw)异常
当JRE得到异常会先寻找解决此异常的代码,JRE会把异常对象交给这个方法来处理,这个过程叫做捕获(catch)异常
如果找不到捕获异常的方法,JRE会停止运行,相应的java程序也将退出
在java中的错误一般分为Error和Exception,而Exception又分为普通异常和系统异常,系统异常又分为运行时异常和非运行时异常,下面是一个异常的结构图
Error
在java中Error异常一般是程序不可恢复的异常,例如,内存溢出和线程死锁等系统问题,再报Error一场之后一般就说明程序已经死了,不可恢复
Exception
Exception异常又分为系统异常和普通异常,普通异常就是运行环境的变化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够
系统异常就是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,例如,数组脚本越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException)这些都是属于开发人员所导致的异常是可以修复的异常
系统异常又分为运行时异常和非运行时异常
运行时异常:Java编译器允许程序不对它们做出处理
非运行时异常:Java编译器要求程序必须捕获或声明这种异常,否则编译就报错
Java中异常处理关键字
throws捕获并向外抛出异常
throw抛出异常
try catch是内部捕获异常并做自定义处理
finally是无论是否有异常都会被处理的语句
Java处理异常的两种方式
自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内
回避异常:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理
- 异常
- 异常!
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- Coursera Using python to access Web data quiz 3
- 树链剖分 模板 汇总
- xml文件引入约束问题
- 在Ubuntu下用APT去安装FLASH插件
- PHP 7 新特性
- 异常
- 百度地图学习总结(1)—前置准备,申请key
- CF687A NP-Hard Problem(二分图判断)
- Linux电源管理(二)系统reboot/shutdown过程
- java后端题目常见
- 元组:戴上了枷锁的列表
- 栈的应用4--中缀表达式转换为后缀表达式
- 网络编程(python)
- apt-get安装软件Unable to locate package错误解决办法