gpt4 book ai didi

c# - 为什么有人会 Catch (Exception e) { throw e; }?

转载 作者:行者123 更新时间:2023-11-30 13:37:39 24 4
gpt4 key购买 nike

为什么会有人这样做?我不明白。我可以在不影响代码的情况下删除这个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com