Comments 8
var lostGPS: Bool = false var lowBattery: Bool = true do { try autoDriveTesla() } catch TeslaError.lostGPS { print("Bruh, I'm lost. Hold me tight") } catch TeslaError.lowBattery { print("HURRY! ") } }
Революционный пример — число открывающих и закрывающих скобок не совпадает.
На протяжении чтения статьи сохранялось сильное ощущение, что читаю статью из песочницы. Какая-то она поверхностная получилась.
Ну вот как такое можно было написать?
Ну вот как такое можно было написать?
Честно говоря, я точно не знаю, что делает Error протокол, но при обработке ошибок без этого не обойдешься.
Разработчики Swift так решили, и я не хочу задаваться вопросом об их мотивах. Я просто использую то, что они для нас сделали.Последняя фраза просто сразила наповал. Для меня это звучит как «Разработчики сказали, что перед компиляцией нужно 3 раза хлопнуть в ладоши. Я не хочу задаваться вопросом об их мотивах, просто сделаем то, что они просят.»
Когда я был младше, я начинал изучать документацию языка Swift. Я по несколько раз прочёл все главы, кроме одной: «Error Handling».
После прочтения статьи напрашивается вывод, что лучше главы не пропускать. Понимаю, что перевод, но сама статья слабовата как-то
Почему try? не рекомендуется использовать, а try! — можно? То есть, по мнению автора, пусть лучше приложение упадёт, чем вернёт Optional?
var lostGPS: Bool = true var lowBattery: Bool = false func autoDriveTesla() { if lostGPS { print("I'm lost, bruh. Hold me tight") // A lot more code } if lowBattery { print("HURRY! ") // Loads of code } }
Итак, если бы я запустил это:
autoDriveTesla() // "HURRY! "
У нас там, вроде, lostGPS == true. Так почему мы должны получить вывод «HURRY! » при запуске этого?
Sign up to leave a comment.
Введение в обработку ошибок в Swift 3