在迅速,是否有可能使用较短的guard let try?
和如果进入else块,会得到发生异常?是否可以使用“try?”检索guard-statement中的异常?
guard let smth = try? myThrowingFunc() else {
print(error) //can I access the exception here somehow?
return
}
VS
let smth: AnyObject?
do {
smth = try myThrowingFunc()
} catch let error {
print(error)
return
}
我敢肯定,试试?就像?只需将smh转换为可选枚举,然后根据需要打开/验证它。这意味着,我认为它采取了do/catch范例 –
是的,'guard let smth = ...'尝试解开 - 如果失败,那么它将执行else块。所以这个构造可能是美好的,如果有可能以某种方式访问这个例外...... – smat88dd
但是,谢谢,我可以理解它是如何工作的,并自己回答我的问题! – smat88dd