C#中有沒有辦法捕獲任何類型的異常? 像C++來捕捉任何類型的異常 格式就像是異常處理
try{
//Statements
}
catch(...){
// Some more statements
}
但這種格式在C#中失敗。 幫助?
C#中有沒有辦法捕獲任何類型的異常? 像C++來捕捉任何類型的異常 格式就像是異常處理
try{
//Statements
}
catch(...){
// Some more statements
}
但這種格式在C#中失敗。 幫助?
你可以趕上像什麼:因爲每個異常(甚至在Windows SEH除外)保證是
catch(Exception ex) {}
:
catch {}
從.NET 2和進一步,這相當於衍生自System.Exception
。
try {
// Statements
} catch (Exception ex) {
// Do stuff with ex
}
這應該有效。
趕上(異常前)
或掛鉤()< - 我相信,第二個工作
.NET框架提供了一種檢測/處理運行時錯誤的機制。 C#在異常處理中使用三個關鍵字:try
,catch
,finally
。 try
塊包含可能導致異常的語句。 catch
塊處理異常,finally
塊用於清理。
try
{
//statements that can cause an exception
}
catch(Type x)
{
//statements for handling an exception
}
finally
{
//cleanup code
}
考慮**爲什麼**你想捕捉任何異常。記錄和重新拋出是一個有效的用例。但是,你真的可以編寫代碼來處理**任何可能的錯誤**,並允許程序繼續處於已知狀態嗎? – TrueWill 2009-11-22 19:20:56
實際上,我在我的應用程序的根目錄中使用了open catch,這樣如果發生未捕獲的異常,我可以重新啓動它。這對於服務等非常有用。 – 2009-11-22 19:48:03