zu bekommen, wenn ich eine Wurf Methode haben, etwa so:Wie aus NSError in userinfo catch-Klausel
func doSomethingWithString(string:String) throws {
guard string.characters.count > 0 else {
throw NSError(domain: "CustomErrorDomain", code: 42, userInfo: ["foo" : "bar"])
}
// Do something with string...
}
Dann versuche ich es zu nennen und die userInfo
zu lesen:
do {
try doSomethingWithString("")
} catch let error as NSError {
print(error.domain)
print(error.code)
print(error.userInfo)
}
... es kommt wieder als ein leeres Wörterbuch, (aber die Domain und den Code richtig bestücken):
CustomErrorDomain
42
[:]
aber wenn ich mich hinzufügen n dieser zusätzliche Schritt:
do {
try doSomethingWithString("")
} catch let e {
let error = e as NSError
print(error.domain)
print(error.code)
print(error.userInfo)
}
... es funktioniert:
CustomErrorDomain
42
[foo: bar]
Weiß jemand, woran das liegen könnte?
FYI - Ich bin auf Xcode 7 Beta 2 (7A121l)
Sehr interessant ... Ich weiß nicht, warum dieses – Kametrixom
passieren könnte ich dies als Fehler betrachten, bitte ein Radar bei bugreport.apple.com Datei. – robertvojta
Okay, @RobertVojta. Ich habe jetzt ein Radar abgelegt. – ganzogo