在java 7中捕获多个异常

java 7使得我们能够在同一个catch语句块中捕获多种不同的异常,这也叫做多重异常捕获。

在java7以前,我们可能要这样做:

01 try {
02  
03     // execute code that may throw 1 of the 3 exceptions below.
04  
05 catch(SQLException e) {
06     logger.log(e);
07  
08 catch(IOException e) {
09     logger.log(e);
10  
11 catch(Exception e) {
12     logger.severe(e);
13 }

正如上面看到的,SQLException 和IOException 这两个异常都是以相同的方式来处理的,但是你仍然要为这两个异常写两个独立的catch语句块。

java 7中你可以像下面这样捕获多个异常:

01 try {
02  
03     // execute code that may throw 1 of the 3 exceptions below.
04  
05 catch(<strong>SQLException | IOException e</strong>) {
06     logger.log(e);
07  
08 catch(Exception e) {
09     logger.severe(e);
10 }

注意,第一个catch语句块中的两个异常名字是被管道字符|分割的。两个异常类名之间的管道字符就是在同一个catch语句块中声明多个异常的方法。

时间: 2024-10-03 23:08:28

在java 7中捕获多个异常的相关文章

java编程中捕获多个异常try实例

Java 7使得我们能够在同一个catch语句块中捕获多种不同的异常,这也叫做多重异常捕获. 在java7以前,我们可能要这样做:  代码如下 复制代码 try {     // execute code that may throw 1 of the 3 exceptions below. } catch(SQLException e) {     logger.log(e); } catch(IOException e) {     logger.log(e); } catch(Except

java 7中捕获多个异常示例分析

java 7使得我们能够在同一个catch语句块中捕获多种不同的异常,这也叫做多重异常捕获. 在java7以前,我们可能要这样做: try {     // execute code that may throw 1 of the 3 exceptions below. } catch(SQLException e) {     logger.log(e); } catch(IOException e) {     logger.log(e); } catch(Exception e) {   

如何捕获java线程中的逃逸的异常

在java线程中,在run方法中,我们要在run()方法中,把一切的异常有处理掉,也就try-catch掉.不能让这个线程抛出异常,因为如果我们不使用特殊的方式的话,我们是无法捕获从这个线程中逃逸的异常的.异常一旦抛出了,那么这个线程就会停止运行,但是不会影响主线程和其它的线程.因为主线程和其它的线程都不知道它抛出了异常. 线程在run方法抛出异常,没有catch 那么会有疑问,是不是在main函数里面没有catch ``` package Thread.UncaughtExceptionHan

throw-Java的API中对未检测异常的处理方式问题

问题描述 Java的API中对未检测异常的处理方式问题 在JDK的API中,有很多类似这样的语句if (pathname == null) { throw new NullPointerException(); },我是这样想的--程序员在编写程序时如何避免未检测异常呢,就是要先判断一下,API也是一样的,它也判断了,只是说它不知道如何很好的处理就干脆抛出来.好,现在程序员开始编写代码,如果程序员在自己的程序里面没有判断是否为空,最后这种空指针异常发生了,程序停止, 突然觉得API的这个判断好像

Java编程中10个最佳的异常处理技巧_java

在实践中,异常处理不单单是知道语法这么简单.编写健壮的代码是更像是一门艺术,在本文中,将讨论Java异常处理最佳实践.这些Java最佳实践遵循标准的JDK库,和几个处理错误和异常的开源代码.这还是一个提供给java程序员编写健壮代码的便利手册.Java 编程中异常处理的最佳实践 这里是我收集的10个Java编程中进行异常处理的10最佳实践.在Java编程中对于检查异常有褒有贬,强制处理异常是一门语言的功能.在本文中,我们将尽量减少使用检查型异常,同时学会在Java编程中使用检查型VS非检查型异常

Java开发中异常处理的最佳实践

异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中.Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们.事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码.这里我们将讨论一些关于异常处

SRVE0068E: 未捕获到 servlet CXFServlet 的其中一个服务方法中抛出的异常。抛出的异常:java.lang.IncompatibleClassChangeError

问题描述 RT.[08-10-2516:37:40:421CST]00000030ServletWrappeESRVE0068E:未捕获到servletCXFServlet的其中一个服务方法中抛出的异常.抛出的异常:java.lang.IncompatibleClassChangeErroratorg.apache.cxf.wsdl11.ServiceWSDLBuilder.addExtensibiltyElements(ServiceWSDLBuilder.java:227)atorg.apa

浅析Java语言中两种异常的差别

Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的. 它们的不同之处表现在两方面:机制上和逻辑上. 一.机制上 它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常.请看下面CheckedExc

Android中捕获全局异常实现代码_Android

1.实现UncaughtExceptionHandler,在方法uncaughtException中处理没有捕获的异常. public class GlobalException implements UncaughtExceptionHandler { private final static GlobalException myCrashHandler = new GlobalException(); private GlobalException() { } public static s