In rapido, è possibile utilizzare il più breve guard let try?
e ottenere l'eccezione in corso se si immette il blocco else?E 'possibile recuperare un'eccezione all'interno di un'istruzione-guardia con "prova?"?
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
}
Sono abbastanza sicuro che prova? è come? e trasformerà semplicemente smh in un enum opzionale in cui sei lasciato a scartare/convalidarlo come richiesto. significato, penso che toglie il paradigma do/catch –
Sì, e 'guard let smth = ...' tenta di scartare - se fallisce, allora eseguirà il blocco else. Quindi questo costrutto potrebbe essere meraviglioso, se fosse possibile in qualche modo accedere all'eccezione ... – smat88dd
Ma grazie, ho capito come funziona e rispondo io stesso alla mia domanda! – smat88dd