Java 多重捕获中的WebApplicationException和NotFoundException
所以我的问题是: 基本上,我有一个带有try-catch块的方法,其中我捕获了一个WebApplicationException(javax.ws.rs.WebApplicationException),但我的方法抛出了NotFoundException(com.sun.jersey.api.NotFoundException) 所以我想这样处理这两个问题:Java 多重捕获中的WebApplicationException和NotFoundException,java,multi-catch,Java,Multi Catch,所以我的问题是: 基本上,我有一个带有try-catch块的方法,其中我捕获了一个WebApplicationException(javax.ws.rs.WebApplicationException),但我的方法抛出了NotFoundException(com.sun.jersey.api.NotFoundException) 所以我想这样处理这两个问题: try { } catch (WebApplicationException e | NotFoundException e) {
try {
} catch (WebApplicationException e | NotFoundException e) {
}
但是,我得到以下编译时错误:
异常NotFoundException已被替代项捕获
WebApplicationException
但为什么呢?NotFoundException应该来自一个完全不同的包(泽西),不是吗
另外,如果我将它们放在单独的catch()块中,效果也很好
请帮助。您的Syntax错误。看见改为这样做:
try {
} catch (WebApplicationException | NotFoundException e) {
}
您可以像这样先尝试子异常
try {
} catch (NotFoundException e) {
} catch (WebApplicationException e) {
}
但为什么呢?NotFoundException应该来自一个完全
不同套餐(泽西)
如果您查看了jersey的NotFoundException,而没有找到,NotFoundException扩展了WebApplicationException
。这里,NotFoundException
继承javax.ws.rs.WebApplicationException
类。因此,WebApplicationException
是com.sun.jersey.api.NotFoundException
的父类,这就是为什么会出现错误
package com.sun.jersey.api;
import java.net.URI;
import javax.ws.rs.WebApplicationException;
/**
* A HTTP 404 (Not Found) exception.
*
* @author Paul.Sandoz@Sun.Com
*/
public class NotFoundException extends WebApplicationException