【发布时间】:2013-11-04 07:20:57
【问题描述】:
我必须处理队列中的项目。
从队列中删除项目是手动调用Queue.DeleteMessage。无论处理是否成功,这都需要发生。
var queueMessage = Queue.GetMessage();
try
{
pipeline.Process(queueMessage);
}
catch (Exception ex)
{
try
{
Logger.LogException(ex);
}
catch { }
}
finally
{
Queue.DeleteMessage(queueMessage);
}
问题:
失败时,我将错误记录到某个数据存储中。如果此日志记录失败(可能数据存储不可用),我仍然需要从队列中删除该消息。
我已将LogException 调用封装在另一个try catch 中。这是正确的方式还是执行的事情?
【问题讨论】:
标签: c# .net exception-handling try-catch try-catch-finally