【发布时间】:2011-04-01 08:51:00
【问题描述】:
我最近遇到了一位程序员同事编写的代码,他在其中的 catch 中有一个 try-catch 语句!
请原谅我无法粘贴实际代码,但他所做的与此类似:
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
我个人觉得这是我见过的最糟糕的一些代码! 在 1 到 10 的范围内,你认为我应该多久去告诉他我的想法,还是我反应过度了?
编辑: 他在 catch 中实际上在做什么,他正在执行一些可以/应该在初始尝试失败时执行的操作。我的问题是拥有干净的代码和可维护性。将异常从第一个 catch 委托给不同的函数或调用函数是可以的,但是添加更多可能会或可能不会在第一个 catch 中引发异常的代码是我觉得不好的。我尽量避免使用多个堆叠的“if-loop”语句,我发现这同样糟糕。
【问题讨论】:
-
这很常见,所以没有看到代码实际做了什么——这本身并没有什么问题。
-
我宁愿问他想达到什么目的。
标签: java exception exception-handling try-catch