如果我有两个函数A()
和B()
A
调用B
。现在,如果在B
内抛出异常,为什么我无法使用A
中的try catch块在A
内轻松捕获它。
func B () -> Void {
// library code that triggers an unhandled fatal exception
}
func A () -> Void {
do {
try B()
} catch {
print(error)
}
}
这在其他语言中非常容易实现,例如Java / Scala / Javascript等。