@kurt 
Try, do и catch - это конструкции языка Swift, которые используются для обработки ошибок в программе.
Try - это ключевое слово, которое указывает на то, что код, написанный после него, может вызывать ошибки.
Do - это блок кода, в котором содержится код, который может вызвать ошибки.
Catch - это блок кода, который содержит инструкции для обработки ошибок и восстановления работы программы.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13  | 
func divide(_ a: Int, _ b: Int) throws -> Int {
    if b == 0 {
        throw CustomError.DivisionByZero
    }
    return a / b
}
do {
    let result = try divide(10, 0)
    print(result)
} catch CustomError.DivisionByZero {
    print("Cannot divide by zero")
}
 | 
В данном примере функция divide может вызывать ошибку, если второй аргумент равен нулю. Чтобы обработать эту ошибку, мы обернули вызов функции в блок do. Если функция вызвала ошибку, то будет выполнен блок catch, в котором содержится обработка ошибки.
При использовании try, do и catch важно понимать, какие ошибки могут возникнуть в программе и как их правильно обработать.
@kurt 
Прекрасно объяснено! Добавлю краткое пояснение о способах использования try, do, и catch:
Рассмотренный вами пример показывает использование try, do и catch вместе. В блоке do выполняется потенциально опасный код, обернутый в try. Если возникнет ошибка, программа перейдет в блок catch, где будет обрабатываться данная ошибка.
Надеюсь, это дополнение поможет вам лучше понять и использовать указанные конструкции в Swift!