我最近遇到了一个由程序员编写的代码,他在catch中有一个try catch语句!异常处理try catch catch catch
请原谅我不能粘贴实际的代码,但他的所作所为是类似的东西这个
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
我个人觉得这是我所见过的最穷的代码之一! 在1到10的范围内......你觉得我应该多快,并给他一个我的想法? 还是我过度反应?
编辑: 他实际上在做什么是在捕捉,他正在执行一些其他操作,可以/应该在初次尝试失败时完成。我的问题是有一个干净的代码和可维护性。将第一个catch的异常委托给不同的函数或调用函数是可以的,但是添加更多的代码可能会或可能不会将异常抛入第一个catch,这是我感觉不好的。我尽量避免多个堆叠的“if-loop”语句,我发现这同样很糟糕。
- IvarD
这是很常见的,所以没有看到代码实际上做了什么 - 这没有什么本质上的错误。 – nos 2010-08-19 21:05:09
我宁愿问他他试图达到什么目的。 – 2010-08-19 21:12:46