在我的工作中,我必须维护一些C#项目。原来的开发商已经不在了。最近,我注意到一些奇怪的代码,主要出现在这样的情况下:
try
{
//some Code
}
catch
{
0.ToString();
}
0.ToString()
是做什么用的?大多数代码都是在压力下编写的,因此我可以想到两种可能性://TODO
),可以对其进行搜索以了解您必须在哪里修复某些问题。 还有其他用例或意义吗?这是好/不好的编码风格还是实践?由于该指令不执行任何操作,因此会对性能产生小的影响还是编译器将其删除?哪些是做类似的更好的方法
最佳答案
就像注释所暗示的那样,代码示例包含了一件奇怪的事和一件坏事。这
0.ToString();
几乎可以肯定的是,调试器可以在其中放置断点的代码行。这是我见过的用于此目的的陌生行之一。这行可能是在调试 session 后无意中提交的。
与此分开的是空的
catch
块,这通常不是一个好主意。瑞恩·盖茨为此提供了一个很好的答案,所以我不会在这一点上做进一步的说明。但是具有讽刺意味的是,如果有一个适当的catch块,就会有一行代码在其上放置一个断点。关于c# - 奇怪的异常处理伪指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14835035/