异常的继承关系与捕获关系(只有直系的继承关系时,下面的类才能被捕获,和辈分无关!!)
来源:互联网 发布:万网幕布和阿里云幕布 编辑:程序博客网 时间:2024/04/30 07:32
前言:今天看到系统自定义的SystemException 没有捕获 StringIndexOutOfBoundException。
SystemException 继承了 RuntimeException ;
StringIndexOutOfBoundException 继承了 IndexOutOfBoundException,
IndexOutOfBoundException 继承了 RuntimeException ;
哎~基础的东西都快忘了!!!
现象描述:
类A 继承RuntimeException
B 继承RuntimeException
C 继承B
try{
throw c;
} catch(A ex){
// c不能被捕获!!!
}
问:抛出C,能不能被A捕获。
回答:不能。
补充说明,就是算是A继承的是Exception,也不能捕获c
总结:
被抛出的异常能否捕获,不看catch时使用的这个类的辈分(级别)有多高,
而是看这个类和抛出的异常之间是否有直接继承关系!
- 异常的继承关系与捕获关系(只有直系的继承关系时,下面的类才能被捕获,和辈分无关!!)
- Python异常类的继承关系
- Java常见异常类的继承关系
- Java异常类的继承关系图
- 聚合与继承的关系
- 组合和继承的关系
- 协议和继承的关系
- 继承和协议的关系
- 继承和组合的关系
- Hibernate的继承关系
- Hibernate的继承关系
- C++的继承关系
- C++的继承关系
- 继承关系的映射
- Adapter的继承关系
- 继承的关系图!
- hibernate的继承关系
- log4j的继承关系
- 数据结构之选择排序
- 简单的结构体二级排序
- 探索C++的秘密之详解extern "C"
- 何时使用异常
- 母版页里面的js验证
- 异常的继承关系与捕获关系(只有直系的继承关系时,下面的类才能被捕获,和辈分无关!!)
- Linux2.6 内核的 Initrd 机制解析
- select+ajax
- android中xml中的sax pull解析
- 从CEdit派生一个只允许输入16进制数据的新类
- 使用OpenFileDialog对话框打开文本文件
- win7 右键 注册dll,右键 复制文件(夹)名称 路径
- MATLAB中注释一段程序
- 第13周报告3:编制一个三角函数表