![]() |
1
8
您可以使用lambda:
对于那些返回值的函数,您可以有一个func<t>重载。 编辑:可以查看 complete source here . |
![]() |
2
4
捕捉到异常后会发生什么?你能重构吗?通常,在概念上,您可以将尝试捕获置于不同的级别。
还有可能减少需要捕获的异常的数量吗?在Java中,我倾向于使用异常的层次结构。我有一个TransientException,当它合理地期望对相同请求进行重试时抛出。超时和通信异常是TransientException的子类,所以我只需要捕获TransientException。同样,我也有一个InvalidRequestException——您可以根据自己的喜好多次提出无效的请求,但它永远不会起作用!因此,我可以将InvalidRequestException子类化为不正确的SQL等情况。 根据您的进一步解释: 您的目的是包装每个函数,以便调用者可以检查成功代码而不是捕获异常。希望来电者能编码
首先让我说,为什么要麻烦?它们可以用一个块捕获所有异常。
我眼中的这个 许多的 更清楚的是,控制流程是明确的。它不再是代码行,而且更易于维护。似乎有人普遍认为例外会使代码变得不清楚——我只是不同意。 注: 捕获异常的想法引起了一些争论。让我澄清几点。
如果你想/需要继续你的计划,那么回到你原来的问题上,正如已经观察到的,把实际的异常处理考虑到它自己的功能中。然后您将编写最少的重复代码。
只要在PrepareExceptionResponse()中做正确的事情,重新引发低级异常,就不会造成任何伤害。在这个级别上,cathc异常是不常见的,但是您有一个特殊的需求——做一些常见的异常处理。 |
![]() |
3
1
您将不得不调用每个函数并每次捕获异常。但是,如果使用类似 Exception Handling Block 在里面 Enterprise Library . 这样,您就可以为失败的WCF调用设置策略,而不必单独处理每种不同类型的异常。 |
![]() |
4
0
我自己还没有证实,我只是想出了以下几点:
这个很适合任何
|
![]() |
5
-1
有一个类来处理应用程序中可能发生的所有异常。公开该类中将处理异常的方法。方法可以接受异常类型、发生异常的位置等类型的参数,并相应地处理它们。 在您拥有的一系列方法中,只需调用异常处理类中的方法。 |
![]() |
Konvt · 标准库中异常构造函数参数类型问题 5 月前 |
![]() |
EarthTurtle · 调整泛型抛出迭代器的异常类型 11 月前 |
![]() |
ê¹ë¯¼ì¬ · 在六边形的建筑中,例外情况应该扔到哪里? 1 年前 |
|
tariqalr · 带有try-catch块的无限循环的编译和返回值 1 年前 |
![]() |
CheezGuy · Python尝试/不停止错误除外 1 年前 |