如何从我的服务中获取状态?

时间:2012-07-04 02:35:20

标签: grails groovy

我有服务类,我有一项服务:

class service { 
  def activate(def part1,def part2) { 
    //here I check whether the provided part1 and part2 are correct 
    //If so I open a keystore or else catch the exception. . 
    try { 
      //code goes here. . . . 
    } 
    catch(IOException e) 
    { 
      log.error("") 
    } 
  } 
}

现在在我的控制器代码中我调用此服务。我想知道activate服务是否成功打开密钥库,提供part1part2。最初我在try/catch块中添加了一个布尔变量来获取状态,但我想这是不好的做法。

除此之外,我如何才能知道活动服务是否成功?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以采取以下几种方法:

如果打开密钥库失败(<而不仅仅是捕获并记录错误),

activate可以抛出异常而不是仅记录错误。这取决于你的应用程序的细节 - 如果没有打开密钥库,它实际上是一个错误的情况吗?或者是否可能/可能不会打开密钥库?

你可以让activate返回一个布尔值true / false,该方法的调用者可以检查activate的返回值