没有合适的资源?快使用搜索试试~ 我知道了~
首页Java 常见异常(Runtime Exception )详细介绍并总结
Java 常见异常(Runtime Exception )详细介绍并总结
870 浏览量
更新于2023-05-27
评论
收藏 124KB PDF 举报
主要介绍了Java 常见异常(Runtime Exception )详细介绍并相关资料,大家在开发Java 应用软件的时候经常会遇到各种异常这里帮大家整理了一部分,并解释如何解决,需要的朋友可以参考下
资源详情
资源评论
资源推荐

Java 常见异常常见异常(Runtime Exception )详细介绍并总结详细介绍并总结
主要介绍了Java 常见异常(Runtime Exception )详细介绍并相关资料,大家在开发Java 应用软件的时候经常会遇
到各种异常这里帮大家整理了一部分,并解释如何解决,需要的朋友可以参考下
本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起
来。
1. 异常机制异常机制
1.1 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序
执行的流程发生改变,程序的控制权转移到异常处理器。
1.2 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函
数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返回-1代表出现异常,但是如果函数确实要返回-1
这个正确的值时就会出现混淆;可读性降低,将程序代码与处理异常的代码混爹在一起;由调用函数的程序来分析错误,这就
要求客户程序员对库函数有很深的了解。
1.3 异常处理的流程
1.3.1 遇到错误,方法立即结束,并不返回一个值;同时,抛出一个异常对象
1.3.2 调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码
2 异常的分类异常的分类
2.1 异常的分类
2.1.1 异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承
Exception,具体的RuntimeException继承RuntimeException。
2.1.2 Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。
2.2 每个类型的异常的特点
2.2.1 Error体系 Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象
(一般是由虚拟机抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设
计时,应该更关注Exception体系。
2.2.2 Exception体系 Exception体系包括RuntimeException体系和其他非RuntimeException的体系
2.2.2.1 RuntimeException RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理
RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组
边界来避免数组越界访问异常。
2.2.2.2 其他(IOException等等)这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而
是在应用环境中出现的外部错误。
2.3 与C++异常分类的不同
2.3.1 其实,Java中RuntimeException这个类名起的并不恰当,因为任何异常都是运行时出现的。(在编译时出现的错误并不
是异常,换句话说,异常就是为了解决程序运行时出现的的错误)。
2.3.2 C++中logic_error与Java中的RuntimeException是等价的,而runtime_error与Java中非RuntimeException类型的异常是
等价的。
3 异常的使用方法异常的使用方法
3.1 声明方法抛出异常
3.1.1 语法:throws(略)
3.1.2 为什么要声明方法抛出异常?方法是否抛出异常与方法返回值的类型一样重要。假设方法抛出异常确没有声明该方法将
抛出异常,那么客户程序员可以调用这个方法而且不用编写处理异常的代码。那么,一旦出现异常,那么这个异常就没有合适
的异常控制器来解决。
3.1.3 为什么抛出的异常一定是已检查异常? RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的
抛出,一旦出现错误,那么相应的异常会被自动抛出。而已检查异常是由程序员抛出的,这分为两种情况:客户程序员调用会
抛出异常的库函数(库函数的异常由库程序员抛出);客户程序员自己使用throw语句抛出异常。遇到Error,程序员一般是无
能为力的;遇到RuntimeException,那么一定是程序存在逻辑错误,要对程序进行修改(相当于调试的一种方法);只有已
检查异常才是程序员所关心的,程序应该且仅应该抛出或处理已检查异常。



















weixin_38551938
- 粉丝: 4
- 资源: 914
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0