如何查找被"忽略"的异常?

Jer*_*iho 6 scala exception-handling exception checked-exceptions

无需在throws子句中声明已检查的异常或在scala中的try/catch块中处理它们是我喜欢的功能.但是,当必须处理异常但被忽略时,它可能是一个问题.我正在寻找工具(可能是编译器标志/插件)来查找忽略已检查异常的方法.

mic*_*ebe 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()
Run Code Online (Sandbox Code Playgroud)

  • 似乎操作正在寻找静态检查,并且您提出了两种运行时方法。 (4认同)