6

throws 句でチェック済み例外を宣言したり、scala の try/catch ブロックでそれらを処理したりする必要がないことは、私が気に入っている機能です。ただし、例外を処理する必要があるのに無視された場合、問題になる可能性があります。チェックされた例外を無視するメソッドを見つけるためのツール (おそらくコンパイラ フラグ/プラグイン) を探しています。

4

2 に答える 2

0

AFAIK、そのようなツールはありませんが、私がうまく使用した1つの手法は、java.lang.ThrowableのIDE(IntelliJまたはEclipse)にスローポイントのブレークポイントをインストールすることです。これにより、のスローポイントで実行が一時停止します。プログラムの実行中のすべてのJava例外(またはエラー)、そして「再生」を押し続けてそれらすべてを表示します(少なくとも関心のある実行パス上で)

乾杯...

于 2011-12-11T11:31:28.733 に答える
0

1 つのオプションは、アプリケーションの非常に高いレベルで例外をキャッチすることです (最上位はmain-method です)。

別のオプションは、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()
于 2011-06-10T11:16:17.957 に答える