我可以使用观察者模式来处理错误吗?它的优点/缺点是什么?有人为此目的使用这种方法吗?
更新:
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();**
.....
}
}
最佳答案
您更有可能需要一个简单的回调,例如 ErrorHandler
:
public interface ErrorHandler {
/**
* Handle the given error, possibly rethrowing it as a fatal exception
*/
void handleError(Throwable t);
}
这是很常见的方法 - 您注册一个回调方法,以便在某处发生异常时得到通知。然而,这并不是严格意义上的 Observer - 目标对象的状态没有改变,您只会收到有关目标中发生的错误的通知(另一方面,这是一种事件).
通常您还可以拥有多个Observer。很少有超过一个错误处理程序,但不难想象。
关于java - 我可以使用观察者模式进行错误处理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580202/