异常处理尝试在捕获内部捕获
2022-08-31 17:05:32
我最近遇到了一个程序员同事写的代码,他在一个捕获中有一个try-catch语句!
请原谅我无法粘贴实际代码,但他所做的是类似于以下内容:
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
我个人觉得这是我见过的最差的代码之一!在1到10的范围内,你认为我应该多快去给他一个我的想法,或者我反应过度了?
编辑:他在捕获中实际执行的操作,他正在执行一些在初始尝试失败时可以/应该完成的操作。我的问题是有一个干净的代码和可维护性。将异常从第一个捕获委派给不同的函数或调用函数是可以的,但是添加更多的代码可能会或可能不会在第一个捕获中引发异常,这是我认为不好的。我试图避免多个堆叠的“if-loop”语句,我发现这同样糟糕。