我有一个我想要的功能:
def someThing():Int = {
val thingy:Thing = new Thing()
try{
thingy.getIntThingy()
}finally{
thingy.cleanUp()
}
}
getIntThingy()返回一个Int。在初始化中创建的临时表需要清理(副作用)。这段代码会起作用还是应该重构?
答案 0 :(得分:4)
嗯,您需要从try
块获取值,但它可以正常工作。例如:
scala> val x = try { 1 } finally { println("yay") }
yay
x: Int = 1