转载请注明出处:jiq•钦's
technical Blog

public voidtestException(){
int a[] = {1,2,3};int q = 0;
try{
for(int i=0;i<a.length;i++){a[i] /= q;}
}catch(ArithmeticException h){
System.out.print("ArithmeticException\n"); //运行
}catch(Exception e){
System.out.print("Exception\n"); //不会运行。且必须放在ArithmeticException后面
/**
* 范围更大的Exception不但必须放在后面
* 并且放在后面还不会被运行(被前面的范围更小的
* 异常拦截了),那这样还有什意义呢???
*/
}finally{System.out.print("finally\n");}
}
//<span style="color:#3333ff;">output</span>
ArithmeticException
finally

*        要点1:尽管ArithmeticException继承自Exception。可是当发生ArithmeticException异常

*                        并捕获的时候,就仅仅会捕获实际发生的这个异常。并不会由于Exception是其父类而

*                        运行Exception那个catch子句。

*        要点2:可是假设你尝试将范围更大的Exception的catch语句放到的catch语句的前面,那么就会发生

*                        catch子句不可到达的错误“Unreachablecatch block for ArithmeticException.

*                        Itis already handled by the catch block for Exception”

*                        即范围更大的异常(父类)必须放在后面,假设没有继承关系,比方ClassNotFoundException,

*                        和ArithmeticException的catch子句之间就无所谓先后关系。

Java基础:异常捕获顺序的更多相关文章

  1. 《Java基础——异常的捕获与抛出》

    Java基础--异常的捕获与抛出     '  前言: Error类(错误)和Exception类(异常)是Throwable类的子类. 异常分为CheckedException类(编译时异常)和Ru ...

  2. Java基础-异常(Exception)处理

    Java基础-异常(Exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常的概述 什么是异常?Java代码在运行时期发生的问题就是异常.在Java中,把异 ...

  3. Java基础 - 异常详解

    异常的层次结构 Throwable Throwable 是 Java 语言中所有错误与异常的超类. Throwable 包含两个子类:Error(错误)和 Exception(异常),它们通常用于指示 ...

  4. JAVA基础——异常详解

    JAVA异常与异常处理详解 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1 ...

  5. JAVA基础——异常--解析

      简介 异常处理是java语言的重要特性之一,<Three Rules for effective Exception Handling>一文中是这么解释的:它主要帮助我们在debug的 ...

  6. Java基础——异常体系

    在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...

  7. 【Demo 0009】Java基础-异常

    本章学习要点:       1.  了解异常的基本概念:       2.  掌握异常捕获方法以及注意事项;       3.  掌握异常抛出方法:       4.  掌握自定义异常类和异常类继承注 ...

  8. JAVA基础--异常

    异常的分类: 1. Throwable: 根类 1) Error:系统错误, 由java虚拟机生成并抛出, 无法处理 2) Exception: 所有异常类的父类, 可以处理的错误, 可以catch到 ...

  9. Java基础——异常

    一.什么是异常  异常的英文单词是exception,字面翻译就是“意外.例外”的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用.数组下标越界. ...

随机推荐

  1. C#发送电子邮件代码记录

    /// <summary> /// 发送电子邮件 /// </summary> /// <param name="Address">邮件地址&l ...

  2. bootstrap-paginator基于bootstrap的分页插件

    bootstrap-paginator基于bootstrap的分页插件 GitHub 官网地址:https://github.com/lyonlai/bootstrap-paginator 步骤 引包 ...

  3. python--7、面向对象

    什么是面向对象 对象,即抽象的一类事物中的某个具体的个体.这个世界中存在的一切皆为对象,不存在的也能创建出来. 较之面向过程的区别: 编程的复杂度远高于面向过程,不了解面向对象而立即上手基于它设计程序 ...

  4. js 字符串 处理方法

    charAt() 返回指定索引位置的字符 charCodeAt() 返回指定索引位置字符的 Unicode 值 concat() 连接两个或多个字符串,返回连接后的字符串 fromCharCode() ...

  5. Oracle SQL 性能优化技巧

    Select语句完整的执行顺序: SQL Select语句完整的执行顺序: 1. from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将 ...

  6. 3、scala函数入门

    1.定义函数 2.在代码块中定义函数体 3.递归函数与返回类型 4.默认参数 5.带名参数 6.变长参数 7.使用序列调用变长参数  8.过程 9.lazy值              10.异常 1 ...

  7. 解决JavaOpenCV的内存问题

    在使用OpenCV时,程序总是在某个时间墨明棋妙地终止,打开CygWin ,输入 adb logcat ,查看打印的信息,发现是内存问题.经过反复的查找,发现使用OpenCV的java类库时,一定要慎 ...

  8. jquery的attr和prop

    注意不同版本的attr和prop,attr适用于自定义dom值,prop适用于带有固有属性

  9. vue-router 嵌套路由没反应

    先看下route.js //route.js const App = () => import('../App.vue'); const Login = () => import('../ ...

  10. 第八章 Python之常用模块

    日志模块 import logging import logging #默认级别为warning,默认打印到终端 logging.debug( logging.info( logging.warnin ...