我可以使用观察者模式进行错误处理吗?

use*_*896 3 java observer-pattern

我可以使用观察者模式进行错误处理吗?它有什么优点/缺点?有人为此目的使用这种方法吗?

更新:

class MyErrorApi{
public static final int NETWORK_ERROR = 1;

public(MyErrorApi error){
...
}
}


interface ErrorListener{
void onErrorOcurred(MyErrorApi arror)
}


class MyBaseScreen implements ErrorListener{


void onErrorOcurred(MyErrorApi arror){
swirch(arror){
**showPopup();**
.....
}
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*icz 6

更有可能你需要一个简单的回调,如ErrorHandler:

public interface ErrorHandler {

    /**
     * Handle the given error, possibly rethrowing it as a fatal exception
     */
    void handleError(Throwable t);

}
Run Code Online (Sandbox Code Playgroud)

这是相当普遍的做法-你注册的时候出现异常时通知回调方法的地方.但是,这不是严格意义上的Observer - 目标对象的状态没有改变,只会通知目标中发生的错误(另一方面,这是一种事件).

通常,您也可以拥有多个Observer.很少有多个错误处理程序,但不难想象.