1
3
验证
我不建议抓
|
2
1
如果你把它移到外面
|
3
0
创建自己的异常类型,但不要捕获它。
|
4
0
首先,让我指出你代码中的一个错误。您的方法声明它抛出异常,但它没有。它抛出svception。所以这就是“抛出”条款应该说的。(无论如何,你不应该说“抛出异常”。你应该明确说明它抛出了什么类型的异常。)剩下的答案取决于你含糊不清的描述“make network call”是否抛出了异常。 如果没有,您的方法应该如下所示:
但这是不现实的。很可能,你的“make network call”代码抛出了类似IOException的东西。在这种情况下,您的代码应该如下所示:
注意,我将捕获到的IOException包装在svception中。如果svception没有这样做,请重写它以便它可以,或者调用它
还要注意,我不费心抛出,然后捕捉并重新抛出一个IOException。当我发现失败时。我只是抛出了我需要抛出的异常。这意味着我需要在两个不同的地方记录foo消息。在大多数情况下,应该避免重复一行代码,但是对于日志记录,这是可以的。 但是这个代码有点乱。我会把成功的测试和可能的IOException分离开来。所以我会这样写:
注意这里的响应是在try循环之前声明的。它没有初始化,因为它不可能到达
|
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
zaen · 将值传递到异常字符串消息中 2 年前 |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
Aave · 错误数组长度的特定异常 6 年前 |