Обработка ошибок
Обработка ошибок
«Обработка ошибок» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 1. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 1 уроков всего.
Введение
Здравствуйте,
Во время работы приложения могут возникать ошибки, связанные с кодом приложения (ошибки логики и т. д.) или со средой, в которой оно работает.
Для выявления и контроля возникающих ошибок можно использовать обработку ошибок.
Типы ошибок
После возникновения ошибки обработка ошибок может предотвратить нарушение потока выполнения приложения, записать ошибки в журнал или в некоторых случаях закрыть приложение (если продолжение работы невозможно).
Некоторые возникающие ошибки могут быть вызваны логическими ошибками в коде, допущенными разработчиками программного обеспечения. Например, приложение выдаст ошибку, если принудительно извлечь значение опционала, о чём мы узнали в предыдущем разделе.
В некоторых случаях ошибки могут возникать независимо от разработчика. Например, если на устройстве, где работает приложение, недостаточно места на диске, в приложении снова возникнет ошибка.
Перечисление пользовательских ошибок
Мы можем самостоятельно определить пользовательские ошибки с помощью перечисления. В приведённом ниже примере типы ошибок, которые могут возникнуть при вводе данных кредитной карты, добавлены под именем CreditCardError.
enum CreditCardError: Error {
case insufficientFunds
case issuerDeclined
case invalidCVC
}Ключевое слово throws
Если написанный нами метод может вызывать ошибку, в определение метода добавляется ключевое слово throws.
Ниже приведён пример синтаксиса.
func processPayment(creditcard: String) throws {
}Ключевое слово throw
Иногда при написании кода разработчику может понадобиться выбросить ошибку.
Представим ситуацию: мы пишем платёжную систему для банка.
При оплате кредитной картой на балансе клиента недостаточно средств. В этом случае можно выбросить ошибку о недостаточности средств.
throw CreditCardError.insufficientFundsБлок do-catch
Блок do-catch
Когда мы хотим использовать методы, которые могут вызывать ошибки в приложении, мы можем перехватить возможные ошибки, поместив этот код в блоки do-catch.
Код, который может вызвать ошибки, размещается в блоке do, а возможные ошибки перехватываются в блоке catch.
Рассмотрим пример ниже
do {
//Code block that may throw an Error
}
catch let error {
print(error)
}Синтаксис try
Помимо ключевого слова try, существуют варианты использования try! и try?
Рассмотрим наш пример.
// if an error was thrown, app will crash
let result = try! doSomething()
if let result = try? make() {
//If the make method is successful, the result is unwrap. It is a very elegant use.
} else {
//make() threw an error.
}Несколько блоков catch
Если вызываемый метод может выбрасывать несколько ошибок, мы можем фильтровать их и направлять поток выполнения приложения в зависимости от типа ошибки.
В приведённом ниже примере каждый блок catch обрабатывает разные возможные ошибки.
do {
try doSomething()
} catch CustomError.errorOne {
//handle errorOne Error
} catch CustomError.errorTwo(let customErr) {
//handle errorTwo Error with customErr
}Поздравляем
Поздравляем 🎉
В этом уроке мы узнали, как обрабатывать ошибки приложения с помощью Swift.
До встречи на следующем уроке.

Часто задаваемые вопросы
Урок «Обработка ошибок» бесплатный?
Да — полный текст урока «Обработка ошибок» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 1 уроков всего.
Чему я научусь в уроке «Обработка ошибок»?
Обработка ошибок Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 1.
Сколько времени занимает урок «Обработка ошибок»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.