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)
更有可能你需要一个简单的回调,如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.很少有多个错误处理程序,但不难想象.
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |