我在C#4.0就是这样的方法:C#重写一个方法并可选地抛出一个异常,是否需要返回值?
protected override bool _update()
{
if (this.Notes == "")
throw new Exception("Some message...");
else
base._update();
}
编译器会抱怨,并非所有的代码路径返回一个值,但是,如果我这样做:
protected override bool _update()
{
throw new Exception("Some message...");
}
它编译好吧。有没有建议解决这个问题的方法?看起来他们真的没有什么不同,如果在一个案例中的例外足够没有返回值,为什么不在另一个案例中呢?
我是这样的doofus!感谢您指出了这一点。我假设自base._update()已经返回一个布尔,我很好,但仍忘记了'返回'。 – kd7iwp 2011-05-31 20:32:53