为什么会有人这样做?我不明白。我可以在不影响代码的情况下删除这个 try-catch block 吗?
try
{
Collection<SvnLogEventArgs> svnLog = GetSVNRevisionsLog(lastRevision, currentRevision, svnUrl);
svnInfo = PopulateOutput(svnLog, svnUrl.ToString());
}
catch (Exception e)
{
throw e;
}
最佳答案
Why would anyone do this?
你不应该这样做。如果您想添加一些日志记录,您应该最接近的情况是,在这种情况下您应该写:
try
{
/// Do something
}
catch (Exception e)
{
LogException(e); // Do some logging
throw; // Don't use throw e
}
throw
语句单独使用时,保留异常调用堆栈信息。
也就是说,如果您没有其他逻辑(例如日志记录),则绝对没有理由捕获异常。仅当您需要记录/处理异常,或者您可以合理地处理错误并正确恢复时,才应捕获异常。
关于c# - 为什么有人会 Catch (Exception e) { throw e; }?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21863949/