2016-04-28 6 views
2

Ich implementiere public class func JSONObjectWithData(data: NSData, options opt: NSJSONReadingOptions) throws -> AnyObject Aber habe keine Ahnung, welche Ausnahmen kann ich fangen? Mein Kollege bei der Arbeit schlägt vor, den Fehler zu debuggen, wenn ich ihn erwische. Aber es muss einen anderen Weg geben, es herauszufinden, bevor Sie den Code ausführen?Woher weiß ich, welche Ausnahmen zu fangen in einer Kernfunktion, die Swift

+0

Diese Methode kann „ein Wurf 'NSError'-Objekt, das das Problem beschreibt". Das ist alles. – werediver

+0

Ok. also in den Kernfunktionen gibt es wahrscheinlich keine anderen Arten von Ausnahmen? – user1847214

+0

Ich denke schon. Wir können es als ObjC-Erbe betrachten. – werediver

Antwort

0

Hier wirft nur Wrapper um NSError

Normalerweise verwende ich diese Funktion wie folgt aus:

if let yourObject = (try? NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)) as? TObjectTypeYouExpected 
{     
      // other code here 
} 

Sie können es auch auf diese Weise verwenden:

do { 
    yourObject = try NSJSONSerialization.JSONObjectWithData(data, options: options) 
} catch let error as NSError { 
    print("Some error: \(error)") 
    data = nil 
} 
Verwandte Themen