Scala Exceptions是存储在某些全局异常表中还是存储在类似的结构中,如果是这样,除了catch之外还有什么方法可以访问它吗?我的意思是如果我需要打印一些Scala程序抛出的所有异常是什么最好的方法吗?
由于
答案 0 :(得分:1)
据我所知,没有存储例外的表格。您可以为给定的线程添加未处理的异常捕获器,就像在Java中一样:
import java.lang.Thread.UncaughtExceptionHandler
import java.security.InvalidKeyException
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler {
override def uncaughtException(t: Thread, e: Throwable): Unit = {
println(e)
println(e.getStackTrace.mkString("\r\n"))
}
})
但是你的异常应该在线程中未处理,以便工作。如果发生了一个未处理的异常 - 没有其他异常可以抛出 - 所以我不确定你的意思是all exceptions