|
1
7
把你的头发包起来 让你的信息清晰、中肯。 |
|
|
2
3
在第二种情况下,可能会始终调用RowFooberException 除非在第一次捕获中重新捕获异常 |
|
|
3
3
陈述越多,潜在的异常原因就越不明确。 但当然,这取决于函数调用/语句是否包含重叠的异常,即如果所有异常都可以以特定的方式进行解释,则仍然可以。
|
|
|
4
2
我认为最佳实践是书中详述的实践 The Pragmatic Programmer ,异常应该很少被使用-但是当被使用时,它应该清楚地知道它应该处理什么。 所以,我投的票就是例子2。 |
|
|
5
1
|
|
|
6
0
我认为你的第一个例子比第二个好。 |
|
|
7
0
按照杜邦公司的说法,我总是试图将我的潜在风险陈述分为多个try/catch块。那样的话,如果出了问题,你知道吗 确切地 它在哪里,您可以为每个问题提供特定的错误消息。 |
|
|
8
0
你可以用任何一个。 但是如果使用第一个,那么您应该捕获更具体的异常。 |
|
|
9
0
我发现这种方法减少了需要编写的catch代码的数量,并将相关逻辑保持在一起。 |
|
|
10
0
第一选择 ,它允许更易理解和可读的代码,因此您的过程或函数应该尝试执行非常特定的操作,您有两个单独的调用,可能会抛出两个单独的异常,这意味着它所做的工作比预期的要多,可能这是必要的
您可能希望使用第二种方法的唯一原因是,如果您的方法执行了2个操作或更多操作,但您只希望处理2行异常代码,并可能包装它们并继续执行,但不建议这样做 |
|
|
11
0
我更喜欢在try块中使用多个语句,然后捕获所有可能的异常。不知道为什么,但我总是在编码时这样做 |
|
12
0
如果它们真的是那样分开的,那么第一个是更好的练习,因为它比较短。
|
|
|
13
0
如果您正在调用的方法可以返回fooException()和BarException(),并且您希望捕获这两个,那么第一个示例最有意义——相当多的API可以这样做,特别是那些级别更高的API(因为它们自己使用了更多可能引发异常的东西)。
例如
|
|
|
lfox · 如果列中不存在某个值,则停止代码执行 4 年前 |
|
juztcode · 在C++中尝试捕获-创建了多少个对象 8 年前 |
|
|
Novic · 结果不明确时如何使用tryCatch 8 年前 |
|
|
Jacob Nelson · 多次尝试表达式,直到在R中成功 8 年前 |
|
|
Mert Yücel · 如何在布尔方法中引发三个异常? 8 年前 |
|
|
Jatt · 捕获从setInterval内部引发的异常 8 年前 |