【发布时间】:2012-12-17 17:00:33
【问题描述】:
如何使用intercept将异常捕获代码从java转换为scala?
从阅读http://www.scalatest.org/getting_started_with_fun_suite 看来,似乎建议在捕获异常时使用拦截。在下面的异常捕获代码中,我需要访问 Exception 类型以便在 断言:
catch {
case me : MyException => {
assert(me.getDetail.getClass() === classOf[GenericException]);
}
}
这似乎不可能使用拦截,因为下面的代码会导致编译器错误:'前向引用扩展了值异常的定义'
这是转换为 scala 的 catch 块:
val exception = intercept[MyException] {
assert(exception.getDetail.getClass() === classOf[GenericException]);
}
线上出现错误
assert(exception.getDetail.getClass() === classOf[GenericException]);
【问题讨论】: