博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java异常 之 异常的层次结构
阅读量:6325 次
发布时间:2019-06-22

本文共 1027 字,大约阅读时间需要 3 分钟。

一:起因

(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不须要捕捉。

 

想要了解很多其它,请參考: 

三:

(1)今天看到理工大学的JAVA试题:

    当使用多个catch 语句捕获多个异常时。Java规定捕获 Exception的 catch 语句必须排在最后,例如以下所看到的:

    try { …… }

    catch(ClassCastException ex){ …… }

    catch(NumberFormatException ex){ …… }

    catch(Exception ex){ …… }  // 此句必须放在最后!

   由于Exception这个是那几个异常的 父类或者基类!那几个异常都是他的子类。Exception放在最前面后面就没有机会了,其把全部的异常都捕获了。

   即多个异常捕获时的顺序,先子类异常。再父类异常……最后是Exception基类异常。

你可能感兴趣的文章
美国人的网站推广方式千奇百怪
查看>>
java web学习-1
查看>>
用maven+springMVC创建一个项目
查看>>
linux设备驱动第四篇:以oops信息定位代码行为例谈驱动调试方法
查看>>
redis知识点整理
查看>>
Hello World
查看>>
Spring3全注解配置
查看>>
ThreadLocal真会内存泄露?
查看>>
IntelliJ IDEA
查看>>
低版本mybatis不能用PageHeper插件的时候用这个分页
查看>>
javaweb使用自定义id,快速编码与生成ID
查看>>
[leetcode] Add Two Numbers
查看>>
elasticsearch suggest 的几种使用-completion 的基本 使用
查看>>
04-【MongoDB入门教程】mongo命令行
查看>>
Hadoop HA元数据备份
查看>>
字符串与整数之间的转换
查看>>
断点传输HTTP和URL协议
查看>>
redis 数据类型详解 以及 redis适用场景场合
查看>>
mysql服务器的主从配置
查看>>
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>