public void EatDinner(string appetizer, string mainCourse, string dessert)
{
try
{
// Code
}
catch (Exception ex)
{
Logger.Log("Error in EatDinner", ex);
return;
}
}
当特定方法发生异常时,应该记录什么?发生异常时要记录什么?
我在与我一起工作的代码中看到了很多上述内容。在这些情况下,我总是必须与遇到错误的人进行交谈,找出他们正在做的事情,逐步浏览代码并尝试重现错误。
是否有任何最佳实践或方法可以最大限度地减少所有这些额外的工作?我应该像这样在每种方法中记录参数吗?
Logger.Log("Params: " + appetizer + "," + mainCourse + "," + dessert, ex);
有没有更好的方式来记录当前环境?如果我这样做,我需要为我的应用程序中的每种方法写出所有这些东西吗?有没有关于这种情况的最佳做法?
请注意,重掷应该使用'throw;'和* not *'throw ex;'来完成,以避免擦除调用堆栈。 – 2010-04-04 15:06:24