Swift - Error Handling

Aus Wikizone
Version vom 20. Januar 2023, 10:34 Uhr von 134.3.86.14 (Diskussion) (Die Seite wurde neu angelegt: „== Links == Swift (Programmiersprache) == Einführung == Fehlerfälle fängt man oft über try catch zusammen mit einer do Schleife ab. Oft auch zusätz…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Links

Swift (Programmiersprache)

Einführung

Fehlerfälle fängt man oft über try catch zusammen mit einer do Schleife ab.

Oft auch zusätzlich mit einem Optional Binding.

Allgemein

func myFunction{
  do {
    // try sth. which can cause an error
    let myVariable = try retreiveMyVariable // Optional Binding. If it fails it will go to catch block
   } catch {
      // Handle error
   }
}

Beispiel

func parseJSON(_ weatherData: Data)->WeatherModel? {
        let decoder = JSONDecoder()
        // decode needs a type not an object as parameter. We refer to the type with .self i.e. WeatherData.self
        do {
            let decodedData = try decoder.decode(WeatherData.self, from: weatherData)
            let id = decodedData.weather[0].id
            let temp = decodedData.main.temp
            let name = decodedData.name    
            let weather = WeatherModel(conditionId: id, cityName: name, temperature: temp)

            return weather
        } catch {
            //print("Error parsing JSON: \(error)")
            delegate?.didFailWithError(error: error)
            return nil
        }
    }