异常处理尝试捕获内部捕获。
- 论坛
- 异常处理尝试捕获内部捕获。
12 浏览
异常处理尝试捕获内部捕获。
最近我看到了一位程序员写的代码,他在一个catch语句块内又嵌套了一个try-catch语句块!很抱歉无法粘贴实际代码,但他的做法类似于这样:
try { //ABC操作 } catch (ArgumentException ae) { try { //XYZ操作 } catch (IndexOutOfRangeException ioe) { //某些操作 } }
我个人认为这是我见过的最糟糕的代码之一!在1到10的评分中,你认为我应该多久去批评他一番,还是我反应过激了?
编辑:
实际上他在catch中做的是一些在初始try失败时可以/应该完成的操作。我的问题是关于代码的整洁性和可维护性。将异常从第一个catch委托给另一个函数或调用函数是可以接受的,但在第一个catch中添加可能会抛出异常的更多代码,我认为这样做不好。我尽量避免多重嵌套的"if-loop"语句,我觉得这样做同样糟糕。