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
 +}
 +
 //Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку //Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку
  
-   *  func auth (login: String, pwd: String) throws { +func auth (login: String, pwd: String) throws { 
-        let trueLogin = "Vasya" +    let trueLogin = "Vasya" 
-        let truePwd = "123" +    let truePwd = "123" 
-     + 
-        guard trueLogin == login else { +    guard trueLogin == login else { 
-            throw AuthError.dataNotExists +        throw AuthError.dataNotExists 
-        +    
-     + 
-         guard truePwd == pwd else { +     guard truePwd == pwd else { 
-            throw AuthError.wrongPassword +        throw AuthError.wrongPassword 
-        +    } 
-   + 
-        print("Vse ok! Privet admin!"+    print("Vse ok! Privet admin!"
-    +
-     + 
-    var answer = try auth(login: "Dima", pwd: "123"+//do - catch 
-     +import Foundation\\ 
-    print(answer)+ 
 +//Создание ошибки\\ 
 +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\\ 
 + 
 +==== Утверждение безошибочности ==== 
 +try! auth(login: "Dima", pwd: "123")\\
  • /sites/data/attic/obrabotka_oshibok_error_handling_ili_probros_iskljuchenij.1697012450.txt.gz
  • Последнее изменение: 2023/10/11 08:20
  • oresh.dm