[英]Resharper and the C# Catch Clause
我是 Resharper 的新手,我试图理解为什么它似乎暗示:
catch (Exception) { }
for
catch { }
和
catch { }
for
catch (Exception) { }
我很困惑。
基本上,它为您提供了一种在两种选择之间切换的方式,而不是给出哪个更好的具体建议。
您可以更改 ReSharper / 选项 / 代码检查 / 检查严重性下提供的内容 - 找到相关选项并更改无、提示、建议、警告或错误之间的优先级。
Resharper 确实有另一条消息更像是建议:它建议您不要捕获Exception
class。
catch { }
<-- 抑制所有错误。 我们应该这样做,只有当我们确定丢弃任何错误时。
catch { throw; }
catch { throw; }
<-- 这不是必需的。 编译器已经注意重新抛出错误以调用 function。 不需要显式添加。
它只是为您提供了可供考虑的替代方案,这可能会激发您对改进代码的一些见解。 如果没有意义,请忽略该建议。
因为有时在整理 catch 块时,您会在catch
catch(Exception ex)
到catch(Exception)
之间移动,反之亦然,这取决于您是尝试纯粹过滤、记录/包装还是吞下异常。 (看到我为 CodeRush 请求相同的功能,却不知道它甚至存在于 R# 中)
IIRC 从它们生成的代码/它们过滤和遗漏的东西的角度来看,两者之间也可能存在差异
编辑:该链接以前被标记为“空捕获是坏的”,因此非常正确的反对票!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.