异常处理尝试捕获内部捕获。

12 浏览
0 Comments

异常处理尝试捕获内部捕获。

最近我看到了一位程序员写的代码,他在一个catch语句块内又嵌套了一个try-catch语句块!很抱歉无法粘贴实际代码,但他的做法类似于这样:

try
{
    //ABC操作
}
catch (ArgumentException ae)
{
    try
    {
        //XYZ操作
    }
    catch (IndexOutOfRangeException ioe)
    {
        //某些操作
    }
}

我个人认为这是我见过的最糟糕的代码之一!在1到10的评分中,你认为我应该多久去批评他一番,还是我反应过激了?

编辑:

实际上他在catch中做的是一些在初始try失败时可以/应该完成的操作。我的问题是关于代码的整洁性和可维护性。将异常从第一个catch委托给另一个函数或调用函数是可以接受的,但在第一个catch中添加可能会抛出异常的更多代码,我认为这样做不好。我尽量避免多重嵌套的"if-loop"语句,我觉得这样做同样糟糕。

0