我在异步环境(Silverlight)中工作,并使用Logger服务在服务器端存储异常。
考虑以下代码:
catch (Exception ex)
{
this.loggerService.LogAsync(ex, "NotesService");
}
Logger看起来像这样:
public interface ILoggerService
{
Task LogAsync(Exception ex, string tag);
}
如果我像上面那样编写代码(即使是异步方法中的catch)我也无法等待。 如果我按原样离开,我会收到警告说继续执行,等等,等等。哪个好,我不在乎。我只需要记录错误。
我可以暂时禁止这个警告,还是应该为此提出更好的模式?
答案 0 :(得分:1)
由于您绝对确定要忽略LogAsync
的完成/错误,因此您可以执行以下简单的解决方法:
catch (Exception ex)
{
var _ = this.loggerService.LogAsync(ex, "NotesService");
}