java在捕获异常并弹窗_java – 捕获所有异常并返回Jersey中的自定...

WebApplicationException有一个getResponse我们可以从中获得响应.因此,您可以在映射器中检查WebApplicationException.也许是这样的

@Override

public Response toResponse(Throwable error) {

Response response;

if (error instanceof WebApplicationException) {

WebApplicationException webEx = (WebApplicationException)error;

response = webEx.getResponse();

} else {

response = Response.status(Response.Status.INTERNAL_SERVER_ERROR)

.entity("Internal error").type("text/plain").build();

}

return response;

}

这样抛出的WebApplicationException实例将只返回默认响应.这实际上也会处理其他一些异常,而不是由您的应用程序显式抛出. WebApplicationException在其层次结构下有一些由JAX-RS抛出的异常,其中包含预定义的响应/状态代码.

Exception Status code Description

-------------------------------------------------------------------------------

BadRequestException 400 Malformed message

NotAuthorizedException 401 Authentication failure

ForbiddenException 403 Not permitted to access

NotFoundException 404 Couldn’t find resource

NotAllowedException 405 HTTP method not supported

NotAcceptableException 406 Client media type requested

not supported

NotSupportedException 415 Client posted media type

not supported

InternalServerErrorException 500 General server error

ServiceUnavailableException 503 Server is temporarily unavailable

or busy

话虽这么说,我们可以在代码中明确地抛出任何这些异常,只是为了给它更多的语义价值.

一般来说,上面的示例可能是不必要的,除非您想要更改响应消息/状态代码,如上表所示,异常层次结构已经具有一些常规映射.在大多数情况下,意外的异常将已映射到InternalServerErrorException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值