6
我有一個遺留類C1,實現接口I,可能會拋出一些異常。創建一個類的異常安全包裝器
我想創建一個C2類,也實現基於C1實例的接口I,但捕獲所有異常並對它們做一些有用的事情。
目前我的實現是這樣的:
class C2 implements I {
C1 base;
@Override void func1() {
try {
base.func1();
} catch (Exception e) {
doSomething(e);
}
}
@Override void func2() {
try {
base.func2();
} catch (Exception e) {
doSomething(e);
}
}
...
}
(注:我也可以使C2延長C1這不要緊,當前的問題)。
該接口包含許多函數,所以我必須一次又一次地編寫相同的try ... catch塊。
有沒有辦法在這裏減少代碼重複量?
你想要的方式「包裝」從界面是純粹的或有額外的呢?因爲你沒有清楚,因爲你正在重寫示例中的一些包可見方法。 – 2013-05-06 06:07:54
如果您想爲C2提供普通的Java源代碼,請不要使用它。 – 2013-05-06 06:12:34
@Java Mentor它有什麼不同? – 2013-05-06 07:39:38