【发布时间】:2011-02-13 04:49:42
【问题描述】:
我在文件 test.scala 中有以下虚拟 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
所以,如果不建议使用包罗万象的表达式,我应该如何实现这样的模式呢?除此之外,为什么不建议这样的表达方式?
【问题讨论】:
标签: scala warnings exception try-catch catch-all