如何使用拦截将异常捕获代码从 java 转换为 scala?
从阅读http://www.scalatest.org/getting_started_with_fun_suite看来,似乎建议在捕获异常时使用拦截。在下面的异常捕获代码中,我需要访问 Exception 类型以便在 assert 中检查其类型:
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]);