Как в Swift спроектировать тип ошибки, чтобы вызывающий код надёжно различал причины сбоя без разбора текста сообщения?
База Hintsage
Обработка ошибок
throws, Result, defer и моделирование ошибок.
Практика
Вопросы: Обработка ошибок
Показано 1–2 из 2
База Hintsage
throws, Result, defer и моделирование ошибок.
Практика
Как в Swift спроектировать тип ошибки, чтобы вызывающий код надёжно различал причины сбоя без разбора текста сообщения?
Определи порядок вывода при вызове функции: когда срабатывает defer относительно обработки ошибки?
import Foundation
enum Failure: Error { case invalid }
func run() throws -> Int {
defer { print("defer") }
print("start")
throw Failure.invalid
}
do {
_ = try run()
print("success")
} catch {
print("catch")
}
Показано 1–2 из 2