Показать страницуИстория страницыСсылки сюдаODT преобразованиеНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Робота з помилками ====== ===== Непойманная ошибка ===== **throw new Error** (‘Some error’) - генерация шибки (непойманная ошибка) ===== try / catch Пойманная ошибка ===== <code> try { // Code that may throw a runtime error } catch (error) { // Error handling } </code> <code> try { //код віполнение } catch(error) { //код если ошибка више console.log(error) console.log(error.message) } </code> **catch()** ще приймає обїект помилки, тобто <code> </code> ==== Проброс ошибок - это ошибка при которой код ошибка возвращается коду віше.Т.е. тому коду, который вызвал эту ошибку: ==== 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")\\ /sites/data/pages/robota_z_pomilkami.txt Последнее изменение: 2024/01/16 19:17 — tro