Java 改进代码的错误处理

Java 改进代码的错误处理,java,security,try-catch,Java,Security,Try Catch,我想改进代码的一些安全方面。如果在执行alg.solve()时出现任何错误,则不应停止进程,而必须通过runMethod()返回null。下面的代码段会以这种方式工作吗 public Result runMethod() { Algorithm alg = new Algorithm(this); Result r = null; try { r = alg.solve(); } catch

我想改进代码的一些安全方面。如果在执行
alg.solve()
时出现任何错误,则不应停止进程,而必须通过
runMethod()
返回
null
。下面的代码段会以这种方式工作吗

   public Result runMethod() 
    {
      Algorithm alg = new Algorithm(this);
      Result r = null;
      try
      {
         r = alg.solve();
      }
      catch (Exception e)
      {
        e.printStackTrace();
      }
      return r;
    }

一些评论:

  • 不要使用
    e.printStackTrace()。首先,它从链式异常中吸收有用的信息。接下来,您无法控制它是否应该打印。最后,您永远无法确定是否有要打印的
    stderr

    改用日志框架

  • <> >不要返回<代码> null ,考虑定义自己的异常。这将允许您包含有用的信息,用户(不理解这些)可以向您报告,这样您就有机会找出错误发生的原因


    (如果要返回
    null
    ,我会更明确、简洁地编写正文。
    算法alg=new Algorithm(this);尝试{return alg.solve();}catch(SomeException exc){return null;}