[英]Exception Handling in libraries
以下库代码是否有问题?
try
{
//
}
catch (Exception ex)
{
CustomLogger.Log(ex.ToString()); //Write to log file
throw;
}
我读过某个地方,最好将异常处理留给应用程序
框架实际上不应该拥有自己的日志记录。 它应该允许应用程序提供日志记录提供程序。
如果应用程序在这种情况下提供了日志记录提供程序,那么实际的代码就可以了(记录Exception然后重新抛出)。 否则,只需让异常冒泡,以使应用程序记录其认为合适的方式。
如果您坚持认为,可以让API记录错误和程序状态。 这样,您可以通过查看日志来更轻松地调试API。 最重要的是,您应该重新抛出异常,以便调用者知道该错误并尝试以有意义的方式对其进行处理。 如果您只是记录而不扔,则调用者将感到困惑,或者可能需要监视日志文件中的更改并从那里推断异常。
我的意思是,即使您记录了它,也要扔掉它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.