基础卷_异常篇 第3集 对多异常的处理
2016-04-29 21:29
162 查看
/**
*
* 1.声明异常时,建议声明更为具体的异常,这样处理的可以更具体。
* 2,对方声明几个异常,就对应有几个catch块,多余catch块的不要定义
* 如果多个catch块中的异常出现继承关系,父类异常catch一定一定要放在最下面
* 要不然,你之后写的catch块都是多余的,没什么用。
*
*
* 注意:建议在进行catch处理时,catch块中一定要定义具体的处理方式。
* 不要简单定义一句 e.printStackTrace(),
* 也不要简单的就写一条输出语句。
*/
运行结果:
*
* 1.声明异常时,建议声明更为具体的异常,这样处理的可以更具体。
* 2,对方声明几个异常,就对应有几个catch块,多余catch块的不要定义
* 如果多个catch块中的异常出现继承关系,父类异常catch一定一定要放在最下面
* 要不然,你之后写的catch块都是多余的,没什么用。
*
*
* 注意:建议在进行catch处理时,catch块中一定要定义具体的处理方式。
* 不要简单定义一句 e.printStackTrace(),
* 也不要简单的就写一条输出语句。
*/
class Demo2 { //在功能上通过throws的关键字声明了该功能可能会出现问题。 //有可能发生不止一个问题,以下这种声明方式其实并不好,声明更为具体的异常 int div(int a,int b)throws ArithmeticException,ArrayIndexOutOfBoundsException { //人造异常一 int[] arr=new int[a]; System.out.println(arr[4]); //人造异常二 return a/b; } } public class Demo4_2 { public static void main(String[] args) throws Exception { Demo2 d=new Demo2(); try { int x=d.div(4,0); System.out.println("x="+x); } //预先给人造异常二基本处理 catch(ArithmeticException e) { System.out.println(e.toString()); System.out.println("被0除了!!"); } //预先给人造异常一基本处理 catch(ArrayIndexOutOfBoundsException e) { System.out.println(e.toString()); System.out.println("角标越界了!!"); } catch(Exception e) { System.out.println("haha"+e.toString()); } System.out.println("over"); } }
运行结果:
相关文章推荐
- POJ 3087 Shuffle'm Up
- HDOJ(HDU) 2083 简易版之最短距离(中位数)
- CentOS系统:no space left on device错误
- HDOJ(HDU) 2083 简易版之最短距离(中位数)
- .NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制
- 【GOF】代理模式(proxy)之静态代理
- C++多态性
- Ionic使用ngCordova插件,以Geolocation地理定位为例
- 读取一个字符c++
- 四旋翼动力学和仿真翻译(Quadcopter Dynamics and Simulation)
- LeetCode|Ugly Number
- leetcode 345:Reverse Vowels of a String
- scala学习第三弹:scala实战
- 记一次DRBD Unknown故障处理过程 推荐
- hdu 2855 Fibonacci Check-up【递推+矩阵快速幂】
- 第二课 函数调用
- 有关测试说明书的概述与摘要
- Java之美[从菜鸟到高手演变]之设计模式
- Sublime3安装PackageControl,然后安装GoSublime
- 题目来源于欧拉计划的数学OJ。。。