我有以下情况:
class A
{
abstract void foo()
{
}
}
许多类继承自A
,并覆盖foo()
。
我想捕获所有被覆盖的foo
引发的异常。
我考虑过装饰A
的{{1}},并尝试..catch所有foo
的内容,并希望重写类的foo
还会用来自底部foo
的{{1}}的try..catch装饰。
这可行吗?如果是这样,怎么办? 有更好的方法吗?
答案 0 :(得分:1)
您可以使用此:
public class A
{
public void Foo()
{
try
{
DoFoo();
}
catch
{
}
}
protected abstract void DoFoo();
}
因此您将写:
public class B : A
{
protected override void DoFoo()
{
}
}