我正在設計一個WinForms應用程序。我應該處理哪些異常?
目前,我所有的異常都是在UI級別記錄的。
但是,對於他們中的任何一個,除了日誌以外,我還要做其他事情嗎?這是否表明設計不好?另外,在一種方法中(.NET的方法在windows服務上執行命令),它可以拋出Win32Exception和InvalidOperationException類型的異常。
像FileNotFound這樣的異常,我可以提示用戶提供另一個文件(雖然.NET有內置的方法來檢查文件是否存在),但是像上面這樣的例外情況,它們已經降到了低級別機器出現問題,所以這些只能記錄下來。
這是決定捕捉哪些異常的正確方法嗎?另外,我應該抓住還是拋出ArgumentNullException?它表明代碼存在問題,對吧?
您提到的Win32和InvalidOperation異常的原因是什麼?根據他們可能被認爲是骨頭,外源性,令人煩惱或致命的。 – 2011-04-08 16:39:38