2

我是 Resharper 的新手,我试图理解为什么它似乎暗示:
catch (Exception) { }
for
catch { }

catch { }
for
catch (Exception) { }

我很困惑。

4

5 回答 5

9

基本上,它为您提供了一种在两种选择之间切换的方式,而不是提出哪个更好的具体建议。

您可以更改 ReSharper / 选项 / 代码检查 / 检查严重性下提供的内容 - 找到相关选项并更改无、提示、建议、警告或错误之间的优先级。

于 2009-03-20T19:16:48.997 回答
4

Resharper 确实有另一条信息更像是一个建议:它建议你不要去Exception上课。

于 2009-03-20T19:53:06.320 回答
2

catch { } <-- 抑制所有错误。我们应该这样做,只有当我们确定丢弃任何错误时。

catch { throw; } <-- 这不是必需的。编译器已经注意将错误重新抛出给调用函数。不需要显式添加。

于 2011-03-23T12:50:47.127 回答
1

它只是为您提供了可供考虑的替代方案,这可能会激发您对改进代码的一些见解。如果没有意义,请忽略该建议。

于 2009-03-20T19:16:45.347 回答
-2

因为有时在整理 catch 块时,您会移动到/从catch(Exception ex)catch(Exception)catch,反之亦然,这取决于您是尝试纯粹过滤、记录/包装还是吞下异常。(看到我为 CodeRush 请求相同的功能,却不知道它甚至存在于 R# 中

IIRC 从它们生成的代码/它们过滤和遗漏的东西的角度来看,两者之间也可能存在差异

编辑:该链接以前被标记为“空捕获是坏的”,因此非常正确的反对票!

于 2009-03-20T19:16:50.027 回答