====== Робота з помилками ======
===== Непойманная ошибка =====
**throw new Error** (‘Some error’) - генерация шибки (непойманная ошибка)
===== try / catch Пойманная ошибка =====
try {
// Code that may throw a runtime error
} catch (error) {
// Error handling
}
try {
//код віполнение
} catch(error) {
//код если ошибка више
console.log(error)
console.log(error.message)
}
**catch()** ще приймає обїект помилки, тобто
==== Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку: ====
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 {
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")\\