【发布时间】:2018-04-13 17:51:48
【问题描述】:
有时我觉得我在滥用 try/catch 公式。 也许我只是对良好的编码实践偏执,但我想知道,您是否认为使用 try catch 来避免临界崩溃情况是个坏主意?
让我解释一下:假设您有一些东西随着时间的推移而改变,并且您知道它可能会发生被零除或数组超出范围异常的情况。
很多时候,在这种情况下您唯一要做的就是用return; 关闭方法。这需要尝试了解异常会在哪些情况下发生,然后在这些情况下返回。
在许多情况下,这可能是一项痛苦的任务,而此时我只是简单地捕捉到发生的事情并返回。
if (/* Potentially multiple peinful search for crashing points*/)
return;
我愿意
try
{
//I know it's going to crash here sometimes
}
catch { return; }
有时这很方便,但感觉有点作弊。
举个例子:我只是用两个相互交互的 TrackBar 编写一个东西,在某些情况下,如果将两者中的一个带到 Min 或 Max 它将创建除以零。我很高兴 UI 在崩溃前停留在 ValueChanged 事件中,所以这个解决方案就可以了。
您对此有何看法?它被认为是某种可怕的编码事情,还是人们这样做?
【问题讨论】:
-
“你觉得怎么样”是在征求意见。这不是提问的好方法,因为此类问题有许多不同的有效答案。这是一个类似的问题,有几个答案:stackoverflow.com/questions/3335376/…