簡體   English   中英

如何吞下catch塊中拋出的異常?

[英]How can I swallow an exception that is thrown inside a catch block?

下面是我的一些錯誤記錄代碼。 當我的應用程序內發生異常時,我將其記錄到數據庫中。 如果該數據庫已關閉或存在其他問題,我會嘗試在事件查看器中記錄它。

如果事件查看器由於某種原因寫入失敗會發生什么? 我如何放棄或吞下這個新例外?

void SaveLog(string accountId, Exception ex, Category category, Priority priority)
{
    try
    {
        using (var connection = new SqlConnection(…))
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
    }
    catch (Exception exception)
    {
        // exception while logging!   
        using (var eventLog = new EventLog { Source = "tis" })
        {
            eventLog.WriteEntry(
                exception.Message + Environment.NewLine + 
                exception.StackTrace,
                EventLogEntryType.Error);
        }
    }
}
try {
    // ...
}
catch (Exception exception) {
    try {
        // Attempt to write to event log.
    }
    catch {
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM