HI je suis un peu confus sur la façon de transférer la gestion des erreurs if_else pour essayer de rattraper avec succès.essayer try catch swift 2
Voici mon code.
let error : NSError?
if(managedObjectContext!.save()) {
NSNotificationCenter.defaultCenter().postNotificationName("updateUndoState", object: nil)
if error != nil {
print(error?.localizedDescription)
}
}
else {
print("abort")
abort()
}
et maintenant je me suis converti à 2.0 rapide comme celui-ci
do {
try managedObjectContext!.save()
}
catch {
NSNotificationCenter.defaultCenter().postNotificationName("updateUndoState", object: nil)
print((error as NSError).localizedDescription)
}
Je suis confus au sujet où imprimer et faire avorter la fonction abort()
Toute idée ~? Merci beaucoup
Dans votre code original, d'où vient l'erreur? Cela ne vient pas de 'save()'. – Sulthan
@Sulthan merci pour votre rappeler. Cependant, après avoir changé mon code, il se produit ce qui suit: Variable 'error' utilisée avant d'être initialisée –
@Sulthan - Non, le 'error' _is_ est lancé par' save() '. Quand vous avez 'catch 'sans un' let', il utilise automatiquement 'error' comme référence à l'erreur lancée. – Rob