![]() |
1
3
验证
我不建议抓
|
![]() |
2
1
如果你把它移到外面
|
![]() |
3
0
创建自己的异常类型,但不要捕获它。
|
![]() |
4
0
首先,让我指出你代码中的一个错误。您的方法声明它抛出异常,但它没有。它抛出svception。所以这就是“抛出”条款应该说的。(无论如何,你不应该说“抛出异常”。你应该明确说明它抛出了什么类型的异常。)剩下的答案取决于你含糊不清的描述“make network call”是否抛出了异常。 如果没有,您的方法应该如下所示:
但这是不现实的。很可能,你的“make network call”代码抛出了类似IOException的东西。在这种情况下,您的代码应该如下所示:
注意,我将捕获到的IOException包装在svception中。如果svception没有这样做,请重写它以便它可以,或者调用它
还要注意,我不费心抛出,然后捕捉并重新抛出一个IOException。当我发现失败时。我只是抛出了我需要抛出的异常。这意味着我需要在两个不同的地方记录foo消息。在大多数情况下,应该避免重复一行代码,但是对于日志记录,这是可以的。 但是这个代码有点乱。我会把成功的测试和可能的IOException分离开来。所以我会这样写:
注意这里的响应是在try循环之前声明的。它没有初始化,因为它不可能到达
|
![]() |
Konvt · 标准库中异常构造函数参数类型问题 5 月前 |
![]() |
EarthTurtle · 调整泛型抛出迭代器的异常类型 11 月前 |
![]() |
ê¹ë¯¼ì¬ · 在六边形的建筑中,例外情况应该扔到哪里? 1 年前 |
|
tariqalr · 带有try-catch块的无限循环的编译和返回值 1 年前 |
![]() |
CheezGuy · Python尝试/不停止错误除外 1 年前 |