我有一个会引发异常的休息服务,我想知道处理这个问题的最佳方法是什么。
所以我有一个休息服务,它可以抛出一个用户定义的异常,我在 catch 块中捕获它并再次抛出那个异常!并使用休息框架来捕捉它。对于非用户定义的异常也是如此。我认为这会很好,因为我有许多休息服务,并且所有用户定义的异常代码处理都将在同一个地方。
我想知道这是在休息服务中处理异常的正确方法吗?
我正在使用运动衫。
//休息服务
@邮政
公共无效doSomething(){
尝试 {
// ... 一些可以抛出用户定义异常和运行时异常的代码
} 捕捉(用户定义异常 e){
抛出新的 UserDefinedException(e);
} 捕捉(异常 e){
抛出新的 ServiceException(e);
}
// 现在我有一个@Provider 来捕获这个抛出的异常
@Provider
公共类 UserDefinedExceptionHandler 实现
异常映射器 {
公共响应到响应(UserDefinedException 异常){
客户端响应客户端响应 = 新客户端响应();
ResponseStatus 状态 = 新的 ResponseStatus();
clientResponse = handleUserDefinedException(异常,状态,clientResponse);
返回 Response.ok(clientResponse).build();
}
// 同样对于 ServiceException