我在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