Ich bekomme, wie ich meine eigenen Fehler erstellen und sie in Swift mit dem throws
Schlüsselwort auslösen kann. Was ich nicht bekomme ist, wie man das reguläre try - catch
in anderen Sprachen (oder das Ruby rescue
) für nicht behandelte Ausnahmen repliziert.Wie benutzt man Try-Catch in Swift?
Beispiel (In Swift):
func divideStuff(a: Int, by: Int) -> Int {
return a/by
}
let num = divideStuff(4, by: 0) //divide by 0 exception
Hier ist, wie ich mit ihm in C#, zum Beispiel beschäftigen würde:
int DivideStuff(int a, int b) {
int result;
try {
result = a/b;
}
catch {
result = 0;
}
return result;
}
Wie kann ich das gleiche mit Swift erreichen?
Es ist 'do' ..' catch' im doc: https://developer.apple.com/ Bibliothek/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html – Jonas
Sie * können nicht beliebige Laufzeitausnahmen (wie Division durch Null) mit try/catch fangen, vergleichen http://stackoverflow.com/questions/34628999/swift -force-unwrapping-exception-not-propagiert für eine ähnliche Frage und verweist auf die Dokumentation. –