有沒有辦法裝飾一個方法,將做一些日誌記錄,然後無條件拋出異常,這樣?如何標記一個方法會無條件拋出?
我有這樣的代碼:
void foo(out int x)
{
if(condition()) { x = bar(); return; }
// notice that x is not yet set here, but compiler doesn't complain
throw new Exception("missed something.");
}
如果我嘗試這樣寫它,我得到了一個問題:
void foo(out int x)
{
if(condition()) { x = bar(); return; }
// compiler complains about x not being set yet
MyMethodThatAlwaysThrowsAnException("missed something.");
}
有什麼建議?謝謝。
你有什麼問題? – 2009-10-05 14:51:34
「x有out屬性,並且尚未在方法結尾設置」 – k0dek0mmand0 2009-10-05 14:52:37
我很困惑 - 如果它在x被設置(並且返回完成)時沒有拋出,它將如何無條件拋出 – Matt 2009-10-05 14:53:25