库中的异常处理

本文关键字:异常处理 | 更新日期: 2023-09-27 18:25:17

以下库代码有问题吗?

try
{
    //
}
catch (Exception ex)
{
    CustomLogger.Log(ex.ToString()); //Write to log file
    throw;
}

我在某个地方读到,异常处理最好留给应用程序

库中的异常处理

框架实际上不应该有自己的日志记录。它应该允许应用程序提供日志记录提供程序。

如果应用程序在这种情况下提供了日志记录提供程序,那么实际的代码就可以了(记录Exception,然后重新抛出)。否则,只需让Exception冒泡起来,让应用程序记录它认为合适的方式。

如果您坚持可以让API记录程序的错误和状态。这样,通过查看日志,您可以更轻松地调试API。除此之外,您应该重新抛出异常,以便调用方了解错误,并尝试以有意义的方式处理它。如果您只是记录而不抛出,那么调用者将感到困惑,或者可能需要查看日志文件中的更改并从中推断异常。

我的观点是,即使你记录了它,也要抛出它。