4
A
回答
2
您需要提供有关您的特定场景的更多详细信息。然而例如,如果你有一个抽象基类,它提供了一个合同,你想赶上调用基类的合同,你可以做这样的事情时,由派生类抛出的所有可能的异常:
public abstract class Base
{
protected abstract void InternalFoo();
protected abstract void InternalBar();
public void Foo()
{
try { this.InternalFoo(); }
catch { /* ... */ }
}
public void Bar()
{
try { this.InternalBar(); }
catch { /* ... */ }
}
}
+0
是的,这是一种可能的方法,你可以在不使用抽象类的情况下做到这一点,因为我不知道@Coppermill派生类 – Coppermill 2010-04-09 12:50:15
+1
的方法是什么,这种方法只适用于你想要捕获异常的方法在基类的合同中定义。这种方法不适用于基类不知道的方法。 – 2010-04-09 13:40:30
1
通过调用类你是指一个派生类,或者是一个从你的基类派生的类的非相关类调用方法?
我想你可以做你的基地变成代理类。看一个dynamic proxy的例子。
相关问题
- 1. 从指定基类的catch捕获派生类异常
- 2. 将捕获异常捕获该异常的父类
- 3. WCF捕获类型为T或基类型的故障异常
- 4. C++派生类异常没有被基类捕获
- 5. 在Display类中捕获的异常
- 6. 捕获不同的异常类型
- 7. 捕获驼峰路由中异常和异常的子类
- 8. 致命错误:在PHPExcel类未捕获的异常“异常”
- 9. Java变量中捕获块异常类
- 10. PHP simpleImage类捕获异常错误
- 11. 如何在Ruby on Rails中捕获基本异常类?
- 12. 多个catch块VS在基本异常类捕获
- 13. 无法从我的类库中捕获异常
- 14. Java异常处理 - 捕获超类异常
- 15. 如何从超类中捕获的异常中创建子类实例?
- 16. 我们可以从C#中的基类中的子类方法中捕获异常吗?
- 17. 从Xalan捕获异常
- 18. 从firebase捕获异常 - AngularFire2
- 19. 从(ExecutorService)捕获异常CachedThreadPool
- 20. 从顶层捕获异常
- 21. 的Node.js的类型错误甚至崩溃,而捕获捕获的异常
- 22. 捕捉类功能引发的异常
- 23. 捕捉多种类型的异常
- 24. 捕获异常
- 25. 捕获异常
- 26. 捕获异常
- 27. 异常捕获
- 28. 如何从另一个类方法中捕获异常PHP
- 29. 如何从私有成员子类对象中捕获异常?
- 30. 如何从另一个类捕获异常?
你可以添加一些代码来解释你的场景吗? – Jakob 2010-04-09 10:02:12
如果派生类有一些不调用基类的方法会怎么样?您的需求似乎不可能以通用的方式实现。 – Vlad 2010-04-09 10:03:55
你是什么意思,“调用类”? – 2010-04-09 10:04:05