在 do 块内抛出错误是否会导致 catch 块?

问题描述 投票:0回答:1

我有一个 do catch 块,里面有一个可以抛出异常的函数。在 catch 块中我抛出了一个特定的错误。我对函数抛出时发生的情况感兴趣,因此我抛出了错误而不是函数调用。我预计这个错误会被抛出到函数之外,因为它可以抛出,但似乎在 do 块内抛出错误会调用 catch 块,我认为这是有道理的。你能确认这个行为吗?

这是代码:

func download() throws {
    do {
        // try throwingFunc()
        throw Constants.Errors.API.invalidResponse(statusCode: 2)
    } catch {
        print("unexpected")
        throw Constants.Errors.API.invalidData
    }
}
swift error-handling throw
1个回答
0
投票

as vadian 确认正在捕获 do 范围内抛出的错误。

© www.soinside.com 2019 - 2024. All rights reserved.