obrabotka_oshibok_error_handling_ili_probros_iskljuchenij

Различия

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

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

Следующая версия
Предыдущая версия
obrabotka_oshibok_error_handling_ili_probros_iskljuchenij [2023/10/11 08:20]
oresh.dm создано
obrabotka_oshibok_error_handling_ili_probros_iskljuchenij [2023/10/11 09:04] (текущий)
oresh.dm
Строка 1: Строка 1:
 +==== Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку: ====
 +
 +
 +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!")\\
 +}\\
 +var answer = try auth(login: "Dima", pwd: "123")\\
 +print(answer)\\
 +
 +В примере выше ошибка, тип не до конца рассказал
 +
 +==== do - catch ====
 +
 +
 +import Foundation
 +
 +//Создание ошибки
 +enum AuthError:Error {
 +    case wrongPassword
 +    case dataNotExists
 +    case serverLost
 +}
 +
 //Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку //Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку
  
Строка 16: Строка 50:
 } }
  
-var answer = try auth(login: "Dima", pwd: "123")+//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")\\ 
 +} \\ 
 + 
 + 
 +==== Конвертация в опционал ==== 
 +tryauth(login: "Dima", pwd: "123")\\ 
 + 
 +По сути проверяеш отработало как надо или вернуло nill\\
  
-print(answer)+==== Утверждение безошибочности ==== 
 +try! auth(login: "Dima", pwd: "123")\\
  • /sites/data/attic/obrabotka_oshibok_error_handling_ili_probros_iskljuchenij.1697012413.txt.gz
  • Последнее изменение: 2023/10/11 08:20
  • oresh.dm