在方法中使用try-catch
時,如果您希望應用程序繼續運行,即使出現錯誤,是否可以通過catch塊返回默認值作爲返回並記錄錯誤以供以後查看?嘗試 - 捕獲返回策略
例如:
public static string GetNameById(int id)
{
string name;
try
{
//Connect to Db and get name - some error occured
}
catch(Exception ex)
{
Log(ex);
name = String.Empty;
}
return name;
}
實施例2:
public static string GetIdByName(string name)
{
int id;
try
{
//Connect to Db and get id- some error occured
}
catch(Exception ex)
{
Log(ex);
id = 0;
}
return id;
}
是否好返回任何默認值(取決於該方法的返回類型... ???),使得需要這種方法的結果的應用邏輯不會崩潰,並繼續...
在此先感謝...
此致敬禮。
我真的很喜歡這樣的需求:應用程序應該繼續,無論錯誤。繼續什麼?顯示一個空的名字?使用空鍵查找其他數據?當沒有數據庫連接時查找其他數據?在大多數情況下,唯一的方法就是停下來。 (除了像日誌記錄,如果日誌記錄失敗,你可能會繼續,這就是爲什麼LogMsg()等沒有返回值。) – 2011-01-20 13:43:29
那麼你不能向用戶顯示錯誤,你不知道嗎? – Greg 2011-01-20 14:44:43