web-dev-qa-db-fra.com

Les erreurs lancées à partir d'ici ne sont pas gérées

J'ai ce problème en essayant d'analyser un JSON sur mon application iOS:

Code pertinent:

let jsonData:NSDictionary = try JSONSerialization.jsonObject(with: urlData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers ) as! NSDictionary

/* XCode error ^^^ Errors thrown from here are not handled */

Quelqu'un pourrait-il m'aider?

25
TibiaZ

Une erreur possible dans let jsonData = try JSONSerialization ... n'est pas géré.

Vous pouvez ignorer une erreur possible et planter en tant que pénalité si une erreur se produit:

let jsonData = try! JSONSerialization ...

ou renvoyer un Optional, donc jsonData est nil dans le cas d'erreur:

let jsonData = try? JSONSerialization ...

ou vous pouvez attraper et gérer l'erreur levée:

do {
    let jsonData = try JSONSerialization ...
    //all fine with jsonData here
} catch {
    //handle error
    print(error)
}

Vous voudrez peut-être étudier The Swift (3) Language

61
shallowThought