java异常 之 异常的层次结构
一:起因
(1)近期在用java处理分析各种数据,碰到了一些异常,如parse()异常 ParseException,valueOf()NumberFormatException IllegalArgumentException异常。NullPointerExcetion IndexOutOfBoundsExceptionFileNotFoundException等
(2)异常不能随意捕获的。不能随意的写catch(***Exceptionex){} ;仅仅有,有可能抛出对应的异常,才写catch的。否则多余的catch
eclipse也会报错的
Java中,异常分为受检查的异常,与执行时异常.
(3) 多个异常捕获时的顺序,先子类异常,再父类异常……最后是Exception基类异常
二:在Java中,异常分为受检查的异常,与执行时异常.
两者都在异常类层次结构中.以下的图展示了Java异常类的继承关系.
)粉红色的是受检查的异常(checkedexceptions),其必须被try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为
CHeckedException 是由于Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
)绿色的异常是执行时异常(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学习笔记--异常描述
异常描述 1.简介 为了全面了解"异常"的概念,先来分析一个实例.假定要编写一个Java程序,该程序读取用户输入的一行文本,并在终端显示该文本.这里是一个演示Java语言I/O功能 ...
- Core Java 总结(异常类问题)
所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由 ...
- Java笔记:异常
Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Throwa ...
- 【Java心得总结二】浅谈Java中的异常
作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...
- Java基础学习 -- 异常
当异常发生时,原本要接着执行的代码不再执行,转而让其他部分的代码来处理.如果没有代码负责处理,控制台会报告异常. 异常出现时的执行机制: 异常机制最大的好处是:清晰地分开了 正常的业务逻辑 和 遇到情 ...
- Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换
Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换 { "@type":"java.lang.Runti ...
- java中的异常理解
java异常是java提供的用于处理程序中错误的一种机制.所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在).设计良好地程序应该在程序异常发生时提供处 ...
- 关于java中的异常问题 1
1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...
- 黑马程序员:Java编程_异常
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 异常即对问题的描述,将问题进行对象的封装. 1. 异常体系:Throwable ...
- Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch
今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(Stri ...
随机推荐
- Eqs(枚举+ hash)
http://poj.org/problem?id=1840 题意:给出系数a1,a2,a3,a4,a5,求满足方程的解有多少组. 思路:有a1x13+ a2x23+ a3x33+ a4x43+ a5 ...
- linux更换阿里云的源的shell脚本
#!/bin/bash##########################################Function: update source#Usage: bash update_sour ...
- 2205 等差数列(dp)
2205 等差数列 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 钻石 Diamond 题目描述 Description 等差数列的定义是一个数列S,它满足了(S[i] ...
- GYM 100741A Queries(树状数组)
A. Queries time limit per test 0.25 seconds memory limit per test 64 megabytes input standard input ...
- SpringAOP使用注解实现5种通知类型
spring aop的5种通知类型都有 Before前置通知 AfterReturning后置通知 Around环绕通知 AfterThrowing异常通知 After最终通知 首先创建接口和实现类 ...
- 使用idea2.5建立maven项目
使用idea的步骤: 1.建立一个新的maven项目 2.选中maven项目 3.点击next,输入groupID和artifactid 4.点击next 选择projectlocation 5.选 ...
- CAS配置(2)之主配置
WEB-INF目录 1.cas.properties文件(打开关闭SSL,主题,定制页面设置) #默认端口配置 #server.name=http://localhost:8080server.nam ...
- 【SQL】联合语句
一.UNION操作符 UNION 操作符用于合并两个结果集,在合并的同时去掉重复行,并按合并后结果的第一列升序排列.合并后结果集的列名由第一个结果集的列名确定. UINON连接的两个结果集必须具有相同 ...
- Inception搭建
Inception安装Inception是集审核.执行.回滚于一体的一个自动化运维系统,它是根据MySQL代码修改过来的,用它可以很明确的,详细的,准确的审核MySQL的SQL语句,它的工作模式和My ...
- Assembly之instruction之Indirect Autoincrement Mode
Assembler Code Content of ROMMOV @R10+,0(R11) MOV @R10+,0(R11) Length: One or two words Operation: ...