最近,我遇到了一位程序员的代码,其中他在catch中有一条try-catch语句!
请原谅我无法粘贴实际代码,但是他所做的与以下内容类似:
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
我个人认为这是我见过的最差的代码!以1到10的比例,您认为我应该多久才能动一下脑子,还是我反应过度?
编辑:他实际上在抓捕中所做的事情,他正在执行一些操作,这些操作在初始尝试失败时可以/应该执行。我的问题是拥有干净的代码和可维护性。将异常从第一个catch委派到其他函数或调用函数可以,但是添加更多可能会或可能不会在第一个catch中抛出异常的代码,我觉得不好。我尝试避免使用多个堆叠的“
if-loop”语句,但我发现这同样不好。
为什么这么糟?在概念上与以下内容没有什么不同:
void TrySomething() {
try {
} catch (ArgumentException) {
HandleTrySomethingFailure();
}
}
void HandleTrySomethingFailure() {
try {
} catch (IndexOutOfRangeException) {
}
}
在您去那里之前,请给他一个大脑(尝试顶叶,这特别令人反感),您对他说什么呢?您将如何回答谚语“为什么”?
更具有讽刺意味的是,当抖动内联该代码时,它将看起来完全像您的示例。
-Oisin
请求(正文)
本节介绍如何使用三个异常处理程序组件(try、catch 和 finally)来编写异常处理程序。 然后,介绍了 Java SE 7中引入的 try-with-resources 语句。 try-with-resources 语句特别适合于使用Closeable的资源(例如流)的情况。 本节的最后一部分将通过一个示例来分析在各种情况下发生的情况。 以下示例定义并实现了一个名为ListOfNumbe
本文向大家介绍C#嵌套异常并尝试catch块。,包括了C#嵌套异常并尝试catch块。的使用技巧和注意事项,需要的朋友参考一下 示例 一个能够在另一个try catch内部嵌套一个异常/块。 这样一来,您可以管理小的代码块,这些代码块可以在不破坏整个机制的情况下正常工作。 注意:抛出父catch块时,避免吞咽异常
我对CompletableFuture是个新手,我想调用一个可以引发异常的方法MetadataLoginutil::Login。然而,下面的代码没有编译,尽管我已经‘异常’编写。它说我必须在try&catch中包装metadataloginutil::login'。 请指教。前面谢谢!
问题内容: 关于使用/的最佳实践,我有一个非常基本的问题。我有一个像这样的简单函数(DAO) 并在Web服务中使用DAO功能: OR最好在DAO函数中使用/,如下所示: 问题答案: 没有完美的规则。 如果需要尽早但尽可能晚地捕获异常,通常代码会更清晰,更简单。 您应该考虑在发生这种情况时谁必须采取行动,这决定了您是在方法(addVehicle)内进行操作还是调用方必须执行该操作。 例如: 在此示例
有可能在SWIFT中捕捉异常吗?给定以下代码: 有可能防止异常使整个程序崩溃吗?也就是说,在Objective-C中,与以下内容相对应的Swift等价是什么: