Java - 忽略异常并继续返回消息

时间:2015-10-02 02:44:35

标签: java exception

在我的java代码中,如果log()方法失败仍想继续返回响应消息,但如果log()失败,则下面的代码失败,我只想让代码与一个回应 不管log()方法是否失败,都会显示消息。

我的代码

public class MyClass 
{
    public MyResponse getMyResponse(MyRequest request) throws Exception
    {
        MyResponse response = new MyResponse();
        response=Service.getRes(request);
        log(request,response);
        return response;
    }

    public void log(MyRequest request,MyResponse response)
    {
        Service.log(request,response);
    }
}

3 个答案:

答案 0 :(得分:0)

尝试使用finally

public MyResponse getMyResponse(MyRequest request) throws Exception
{
    MyResponse response = new MyResponse();
    response=Service.getRes(request);
    try {
        log(request,response);
    }
    catch (Exception e) {
        // Do something with the error?
    }
    finally {
        // No matter if there is an error or not, the following will be executed.
        return response;
    }
}

答案 1 :(得分:0)

在log方法中使用 try-catch-finally 。在 catch 中你可以做一些关于错误的事情,比如打印它(我想你不能记录它:)!并且在最后你继续正常的行动。

答案 2 :(得分:0)

如果“失败”是指你得到例外,你可以这样做:

public void log(MyRequest request,MyResponse response)
{
    try { Service.log(request,response); } catch(Throwable e) {}
}

这将忽略Service.log请求引发的任何异常。