我在文件中有以下虚拟 Scala 代码test.scala
:
class Transaction {
def begin() {}
def commit() {}
def rollback() {}
}
object Test extends Application {
def doSomething() {}
val t = new Transaction()
t.begin()
try {
doSomething()
t.commit()
} catch {
case _ => t.rollback()
}
}
如果我在 Scala 2.8 RC1 上编译它,scalac -Xstrict-warnings test.scala
我会收到以下警告:
test.scala:16: warning: catch clause swallows everything: not advised.
case _ => t.rollback()
^
one warning found
那么,如果不建议使用包罗万象的表达式,我应该如何实现这样的模式呢?除此之外,为什么不建议这种表达方式?