有一个带有用于捕获异常的简短方法的类是否很好?

class ContractUtils{
  public static String getCode(Contract contract) throws MyException{
    try{
      return contract.getInfo().getCode(); //throws ContractException and LogicException
    }catch(Exception e){
      throw new MyException("error during code reading:"+e.getMessage, e);
    }
  }
  //other methods like above...
}

最佳答案

您的实用程序类ContractUtil引入了间接寻址级别,仅用于将原始异常转换为另一个异常:

代替直接调用:

 return contract.getInfo().getCode()

您现在正在编写更多人工
 return ContractUtils.getCode(contract);

但是可能会出现这种情况,即有道理,例如:

你是
不允许抛出ContractException或LogicException,并且您经常调用此方法
的时间。

但是,如果可以更改其签名,最好重新设计原始方法以仅抛出MyException

07-24 15:03