2

私は現在、GUI を提供し、ネットワーク経由でサービスにアクセスする Java ベースのマルチスレッド アプリケーションを開発しています。

Java ベースのシステムでエラーを報告するためのパターン、ベスト プラクティス、ライブラリ、フレームワーク、または API はありますか?

4

2 に答える 2

2

Thread.UncaughtExceptionHandlerスレッドのエラーを処理するために使用されるがあります。

Thread t = new Thread(task);

// add exception handler
t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler(){
  @Override
  public void uncaughtException(Thread t, Throwable e) {
    // do exception handling
  }
});

t.start();
于 2012-06-13T11:43:51.747 に答える
1

Task TrackerObserverDesignPatterの実装ではない自分を書くことができます。

public class TaskTracker {
private final List<ErrorListener> listeners = new ArrayList<ErrorListener>();

public Runnable wrap(final Runnable r) {
    return new Runnable() {
        public void run() {
            try { r.run(); }
            catch (Throwable t) {
                for (ErrorListener el : listeners)
                    el.error(t, this);
            }
        }
    };
}

public void addListener(ErrorListener el) { listeners.add(el); }

public void removeListener(ErrorListener el) { listeners.remove(el); }

public static interface ErrorListener {
    void error(Throwable t, Runnable r);
}
}
于 2012-06-13T11:49:49.433 に答える