1

私たちはEclipseに基づいた製品を開発しています(これはEclipseプラグインであり、約60以上のプラグインプロジェクトがあります)。ログフレームワークとしてlog4jを使用し、それを使用してビジネスロジック側でエラーをログに記録しています。しかし、UI にバグがある場合に Eclipse がスローする UI エラーを処理する方法が見つかりません。例:

Caused by: org.eclipse.swt.SWTException: Widget is disposed

私はこれらのタイプのエラーについて話しています。では、この例外をどのように処理すればログ ファイルにログインでき、バグを特定できるのでしょうか。

このスタックオーバーフローの質問を試しましたが、基本的にはクラスpublic void eventLoopException(Throwable exception)からのオーバーライドと書かれています。WorkbenchAdvisor

このようなUIプラグインプロジェクトの1つで、次のように試しました。

public class CustomWorkbenchAdvisor extends WorkbenchAdvisor {
     @Override
    public void eventLoopException(Throwable exception) {
        System.out.println("Error occured");
        super.eventLoopException(exception);
    }
}

そして、意図的にUIエラーを作成しましたが、コンソールを見ると、「エラーが発生しました」が表示されず、代わりに次のように表示されます。

!MESSAGE Unhandled event loop exception

スタックトレースあり。この種のエラーを処理する方法を教えてもらえますか?

4

1 に答える 1

0

アプリケーションを作成する呼び出しでカスタマイズWorkbenchAdvisorしたことを指定する必要があります。PlatformUI.createAndRunWorkbenchこの呼び出しは、アプリケーション plugin.xml<run>の拡張ポイントのエントリで指定されたメイン アプリケーション クラスにあります。<application>

于 2013-08-28T10:24:23.463 に答える