java异常 之 异常的层次结构
来源:互联网 发布:java电子商城 编辑:程序博客网 时间:2024/05/16 04:47
一:起因
(1)最近在用java处理分析各种数据,碰到了一些异常,如parse()异常 ParseException,valueOf()NumberFormatException IllegalArgumentException异常,NullPointerExcetion IndexOutOfBoundsExceptionFileNotFoundException等
(2)异常不能任意捕获的,不能任意的写catch(***Exceptionex){} ;只有,有可能抛出相应的异常,才写catch的,否则多余的catch eclipse也会报错的
Java中,异常分为受检查的异常,与运行时异常.
(3) 多个异常捕获时的顺序,先子类异常,再父类异常……最后是Exception基类异常
二:在Java中,异常分为受检查的异常,与运行时异常.
两者都在异常类层次结构中.下面的图展示了Java异常类的继承关系.
(1)粉红色的是受检查的异常(checkedexceptions),其必须被try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为
CHeckedException 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
(2)绿色的异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...而声明为Error的,则属于严重错误,需要根据业务信息进
行特殊处理,Error不需要捕捉。
想要了解更多,请参考: Top 10Questions about JavaExceptions
三:
(1)今天看到理工大学的JAVA试题:
当使用多个catch 语句捕获多个异常时,Java规定捕获 Exception的 catch 语句必须排在最后,如下所示:
try { …… }
catch(ClassCastException ex){ …… }
catch(NumberFormatException ex){ …… }
catch(Exception ex){ …… } // 此句必须放在最后!
因为Exception这个是那几个异常的 父类或者基类!那几个异常都是他的子类,Exception放在最前面后面就没有机会了,其把所有的异常都捕获了。
即多个异常捕获时的顺序,先子类异常,再父类异常……最后是Exception基类异常。
- java异常 之 异常的层次结构
- JAVA异常层次结构
- 异常的层次结构
- 【Java】Java异常类的层次结构
- JAVA异常的标准层次结构
- java基础- 异常的层次结构
- Java 异常类层次结构
- Java异常层次结构示意图
- Java 异常类层次结构
- Java 异常类层次结构
- Java 异常类层次结构
- Java 异常类层次结构
- Java 异常类层次结构
- 一张帅图看清Java异常类的层次结构
- 异常层次结构
- 异常类层次结构
- Java 异常类层次结构及怎样设计一个高效合理的异常处理框架
- C++标准库的异常类层次结构
- WebApp之Meta标签
- 破解wifi
- 进入别人电脑不需要密码
- 破解wifi密码
- 利用 javax.xml.datatype.Duration 解析 activiti:dueDate="P1DT3H" 这种时间格式
- java异常 之 异常的层次结构
- 学习笔记-11.15
- git常用命令
- DEDECMS频道如何设置为二级域名(dedecms开启二级域名 方法)
- .NET基础之集合
- [iOS-GQiang]iOS app内发送短信
- 麦克风阵列技术入门(4)
- C# - Thread.Join()
- Linux系统之复制粘贴命令