3
/catch語句
我一直想做到這一點:如何避免嵌套做Swift2
do {
let result = try getAThing()
} catch {
//error
}
do {
let anotherResult = try getAnotherThing(result) //Error - result out of scope
} catch {
//error
}
,但似乎只能夠做到這一點:
do {
let result = try getAThing()
do {
let anotherResult = try getAnotherThing(result)
} catch {
//error
}
} catch {
//error
}
有沒有辦法讓一個不變的result
範圍內無需嵌套do/catch塊?有沒有辦法來防止類似於我們如何使用guard
語句作爲if/else塊的反轉的錯誤?
我認爲這也能工作,但我得到一個xCode錯誤 - 在初始化之前使用的常量'結果' – nwales
然後,您有一個'catch'路徑,它允許代碼繼續執行並且到達另一行儘管'結果'沒有被分配。但是,如果你「返回」或「拋出」一個錯誤,你將不會得到那個錯誤。 – Rob
是的,這是完全正確的,我沒有返回或拋出我的catch塊,所以無論我需要或需要使結果可選。 – nwales