obrabotka_oshibok_error_handling_ili_probros_iskljuchenij

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
obrabotka_oshibok_error_handling_ili_probros_iskljuchenij [2023/10/11 08:24]
oresh.dm
obrabotka_oshibok_error_handling_ili_probros_iskljuchenij [2023/10/11 09:04] (текущий)
oresh.dm
Строка 1: Строка 1:
-==== //Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку: ====+==== Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку: ====
  
  
Строка 18: Строка 18:
 var answer = try auth(login: "Dima", pwd: "123")\\ var answer = try auth(login: "Dima", pwd: "123")\\
 print(answer)\\ print(answer)\\
 +
 +В примере выше ошибка, тип не до конца рассказал
 +
 +==== do - catch ====
 +
 +
 +import Foundation
 +
 +//Создание ошибки
 +enum AuthError:Error {
 +    case wrongPassword
 +    case dataNotExists
 +    case serverLost
 +}
 +
 +//Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку
 +
 +func auth (login: String, pwd: String) throws {
 +    let trueLogin = "Vasya"
 +    let truePwd = "123"
 +
 +    guard trueLogin == login else {
 +        throw AuthError.dataNotExists
 +    }
 +
 +     guard truePwd == pwd else {
 +        throw AuthError.wrongPassword
 +    }
 +
 +    print("Vse ok! Privet admin!")
 +}
 +
 +//do - catch
 +import Foundation\\
 +
 +//Создание ошибки\\
 +enum AuthError:Error {\\
 +    case wrongPassword\\
 +    case dataNotExists\\
 +    case serverLost\\
 +}\\
 +
 +//Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку\\
 +
 +func auth (login: String, pwd: String) throws {\\
 +    let trueLogin = "Vasya"\\
 +    let truePwd = "123"\\
 +
 +    guard trueLogin == login else {\\
 +        throw AuthError.dataNotExists\\
 +    }\\
 +
 +     guard truePwd == pwd else {\\
 +        throw AuthError.wrongPassword\\
 +    }\\
 +
 +    print("Vse ok! Privet admin!")\\
 +}\\
 +
 +//do - catch\\
 +do {\\
 +    try auth(login: "Vasya", pwd: "1123")\\
 +} catch AuthError.dataNotExists {\\
 + print ("Ne tot login")\\
 +} catch AuthError.wrongPassword {\\
 + print ("Ne tot password")\\
 +}catch {\\
 +    print ("Drygie oshibki")\\
 +} \\
 +
 +
 +==== Конвертация в опционал ====
 +try? auth(login: "Dima", pwd: "123")\\
 +
 +По сути проверяеш отработало как надо или вернуло nill\\
 +
 +==== Утверждение безошибочности ====
 +try! auth(login: "Dima", pwd: "123")\\
  • /sites/data/attic/obrabotka_oshibok_error_handling_ili_probros_iskljuchenij.1697012665.txt.gz
  • Последнее изменение: 2023/10/11 08:24
  • oresh.dm