异常-JDK7针对多个异常的处理方案

 1 package cn.itcast_02;
 2
 3 /*
 4  * JDK7出现了一个新的异常处理方案:
 5  *         try{
 6  *
 7  *         }catch(异常名1 | 异常名2 | ...  变量 ) {
 8  *             ...
 9  *         }
10  *
11  *         注意:这个方法虽然简洁,但是也不够好。
12  *            A:处理方式是一致的。(实际开发中,好多时候可能就是针对同类型的问题,给出同一个处理)
13  *            B:多个异常间必须是平级关系。
14  */
15 public class ExceptionDemo3 {
16     public static void main(String[] args) {
17         method();
18     }
19
20     public static void method() {
21         int a = 10;
22         int b = 0;
23         int[] arr = { 1, 2, 3 };
24
25         // JDK7的处理方案
26         try {
27             System.out.println(a / b);
28             System.out.println(arr[3]);
29         } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) {
30             System.out.println("出问题了");
31         }
32
33         System.out.println("over");
34     }
35
36 }

时间: 2024-08-06 10:25:44

异常-JDK7针对多个异常的处理方案的相关文章

java 19 - 3 JDK7针对多个异常的处理方式

1 /* 2 JDK7出现了一个新的异常处理方案: 3 try{ 4 5 }catch(异常名1 | 异常名2 | ... 变量 ) { 6 ... 7 } 8 如果编译期异常,又不知道异常名,就跟进看源码,那里面就能找到 9 注意:这个方法虽然简洁,但是也不够好. 10 A:处理方式是一致的.(实际开发中,好多时候可能就是针对同类型的问题,给出同一个处理) 11 B:多个异常间必须是平级关系. 12 */ 13 public class ExceptionDemo3 { 14 public s

jdk7 中Collections.sort 异常

Collections.sort 异常 java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java:868) at java.util.TimSort.mergeAt(TimSort.java:485) at java.util.TimSort.mergeForceCollapse(TimSort.jav

第十九节(异常的基本概念, 异常的分类, 异常的捕获和处理,自定义异常,方法覆盖与异常)

1: Java 异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 异常发生的原因有很多,通常包含以下几大类: 1. 用户输入了非法数据. 2. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出.这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的. 要理解Java异常处理是如何工作的,要掌握以下三种类型的异常: 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的.例如要打开一个不

异常:异常的分类;获取异常及处理;抛出异常

Throwable是所有异常当然超类!该类的两个直接子类是Error和Exception. Eroor:JAVA运行时的内部错误以及资源耗尽错误,很难恢复! Exception:可以简单分为两类:1.RuntimeException:运行异常:2.非RuntimeException:由环境因素导致的: 异常的处理以及获取异常: try{ 在这里面放入可能出错的函数 }catch(Exception e){ 处理方法 }finally{ 无论是否出错都会执行此代码 } 在catch中我们一般会写E

Atitit dsl实现(1)------异常的库模式实现  异常的ast结构

Atitit dsl实现(1)------异常的库模式实现  异常的ast结构 1.1. Keyword 1 1.2. 异常的ast模型 1 1.3. Astview的jar org.eclipse.jdt.core_3.10.0.v20140902-0626.jar 1 1.4. Astviewd look 1 1.5. 异常的ast模式 2 1.6. import org.eclipse.jdt.core.dom.TryStatement; 2 1.7. import org.eclipse

【Java】检查型异常和非检查型异常

检查型异常(CheckedException)在Java中所有不是RuntimeException派生的Exception都是检查型异常.当函数中存在抛出检查型异常的操作时该函数的函数声明中必须包含throws语句.调用改函数的函数也必须对该异常进行处理,如不进行处理则必须在调用函数上声明throws语句. 检查型异常是JAVA首创的,在编译期对异常的处理有强制性的要求.在JDK代码中大量的异常属于检查型异常,包括IOException,SQLException等等. 非检查型异常(Unchec

检查型异常和非检查型异常

对于因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除零,等等),为了使开发人员免于处理这些异常,一些异常被命名为非检查型异常(即那些继承自 RuntimeException 的异常)并且不需要进行声明. Checked Exception和Unchecked Exception的几点不同之处 方法签名是否需要声明exception 调用该方法时是否需要捕获exception exception产生的时候JVM控制程序的状态 Sun 的"The JavaTu

对检查性异常和非检查性异常的理解

从开始学习Java,就学习了异常处理,知道异常分为检查性异常和非检查性异常,RuntimeException属于非检查性异常,知道异常的分类.但工作之前没有很多的实际应用,知识书本上课件上的定义,对两种异常的理解并不是很清楚.工作后在实际代码中,逐渐捋顺清楚了,这里记录一下,基础知识就不说了,书上课件上网上资料很丰富,这里只总结对两种异常的理解. 1.检查性异常: JAVA编译器强制要求用try{}catch(){}块进行处理,如果不处理则必须在包含可能发生异常的代码的方法上用throws显示地

Java运行时异常和非运行时异常

1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示: 图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/10346337 2.Throwable Throwable类是所有异常或错误的超类,它有两个子类:Error和Exception,分别表示错误和异常.其中异