无需在throws子句中声明已检查的异常或在scala中的try / catch块中处理它们是我喜欢的功能。但是,当必须处理异常但被忽略时,它可能是一个问题。我正在寻找工具(可能是编译器标志/插件)来查找忽略已检查异常的方法。
答案 0 :(得分:0)
一个选项是在您的应用程序的高级别捕获异常(顶部将是main
- 方法)。
另一种选择是使用UncaughtExceptionHandler
(如果你在JVM上):
object MyUncaughtExceptionHandler extends Thread.UncaughtExceptionHandler {
def uncaughtException(thread: Thread, throwable: Throwable) {
println("Something bad happened!")
}
}
val t = new Thread(new Runnable {
override def run() {
null.toString
}
});
t.setUncaughtExceptionHandler(MyUncaughtExceptionHandler)
t.start()
答案 1 :(得分:0)
AFAIK,没有这样的工具,但是我成功使用的一种技术是在IDE(IntelliJ或Eclipse)中为java.lang.Throwable简单地安装一个抛出点断点,这将暂停执行在程序运行时抛出每个 java异常(或错误),然后继续点击“播放”以查看它们(至少在您感兴趣的执行路径上)
干杯......