Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen den Klassen Error und Exception im Kontext der Fehlerbehandlung?

sobes.tech KI

Antwort von AI

In iOS (Swift) ist Error ein Protokoll, das von den Typen implementiert werden muss, die Fehler beschreiben, die ausgelöst und behandelt werden können. Exception als eigenständiger Typ existiert in Swift nicht, aber in anderen Sprachen (z.B. Objective-C) werden Ausnahmen (NSException) für kritische Fehler verwendet, die normalerweise nicht über den üblichen try-catch-Mechanismus behandelt werden.

In Swift wird empfohlen, Error und die Behandlung mittels do-try-catch für kontrollierte Fehler zu verwenden, anstatt Ausnahmen, die für unvorhergesehene Fehler vorgesehen sind.

Beispiel für Fehlerbehandlung in Swift:

enum FileError: Error {
    case fileNotFound
    case unreadable
}

func readFile() throws {
    throw FileError.fileNotFound
}

do {
    try readFile()
} catch FileError.fileNotFound {
    print("Datei nicht gefunden")
} catch {
    print("Anderer Fehler")
}