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!"
 +
 + 
 +//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\\
  
-      print("Vse ok! Privet admin!") +==== Утверждение безошибочности ==== 
-  } +tryauth(login: "Dima", pwd: "123")\\
-   +
-  var answer = try auth(login: "Dima", pwd: "123") +
-   +
-  print(answer)+
  • /sites/data/attic/obrabotka_oshibok_error_handling_ili_probros_iskljuchenij.1697012435.txt.gz
  • Последнее изменение: 2023/10/11 08:20
  • oresh.dm