这怎么试图最终阻止工作?

时间:2012-02-04 21:56:16

标签: scala

我有一个我想要的功能:

def someThing():Int = {
 val thingy:Thing = new Thing()
 try{
  thingy.getIntThingy()
 }finally{
  thingy.cleanUp()
 }
}

getIntThingy()返回一个Int。在初始化中创建的临时表需要清理(副作用)。这段代码会起作用还是应该重构?

1 个答案:

答案 0 :(得分:4)

嗯,您需要从try块获取值,但它可以正常工作。例如:

scala> val x = try { 1 } finally { println("yay") }
yay
x: Int = 1