在我的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);
}
}
答案 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请求引发的任何异常。