gpt4 book ai didi

java - 休息服务抛出异常 : Best way to handle

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:26 26 4
gpt4 key购买 nike

我有一个会抛出异常的休息服务,我想知道处理这个问题的最佳方法是什么。

所以我有一个可以抛出用户定义异常的休息服务,我在 catch block 中捕获它并再次抛出该异常!并使用休息框架来捕捉它。对于非用户定义的异常也是如此。我认为这会很好,因为我有很多休息服务,所有用户定义的异常代码处理都在同一个地方。

我想知道这是在休息服务中处理异常的正确方法吗?

我正在使用 Jersey 。

// rest service @POSTpublic void doSomething() {try {// ... some piece of code that can throw user defined exception as well as runtime exception} catch(UserDefinedException e) {throws new UserDefinedException(e);} catch(Exception e) {throws new ServiceException(e);} // Now I have a @Provider to catch this thrown exception @Providerpublic class UserDefinedExceptionHandler implements        ExceptionMapper {    public Response toResponse(UserDefinedException exception) {        ClientResponse clientResponse = new          ClientResponse();        ResponseStatus status = new ResponseStatus();        clientResponse = handleUserDefinedException(exception, status, clientResponse);        return Response.ok(clientResponse).build();    }// similarly for the ServiceException

最佳答案

只是在服务器上引发错误 500 不要给出错误的详细信息,一种优雅地处理错误的方法是将响应数据包装在具有状态和数据的结构中,如果状态为错误,则显示正确的消息。

像这样的 json 格式:

{
"status": "error",
"data": {
"message": "detailed error message"
}
}

关于java - 休息服务抛出异常 : Best way to handle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15907202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com