Шрифт:
А как обрабатываются исключения в Ruby? Для этой цели служит блок
Просто перехватывать ошибки не очень осмысленно. Но у блока может быть один или несколько обработчиков
Того же эффекта можно достичь следующим образом:
Здесь в переменной
Если типы ошибок указаны, то может случиться так, что тип реально возникшего исключения не совпадает ни с одним из них. На этот случай после всех обработчиков
Часто мы хотим каким-то образом восстановиться после ошибки. В этом поможет ключевое слово
Наконец, иногда необходим код, который «подчищает» что-то после выполнения блока
Код, помещенный внутрь части
Исключения можно перехватывать еще двумя способами. Во-первых, существует форма
Кроме того, тело определения метода представляет собой неявный блок
На этом мы завершаем как обсуждение обработки исключений, так и рассмотрение основ синтаксиса и семантики в целом.
У Ruby есть многочисленные аспекты, которых мы не коснулись. Оставшаяся часть главы посвящена более развитым возможностям языка, в том числе рассмотрению ряда практических приемов, которые помогут программисту среднего уровня научиться «думать на Ruby».
1.3. ООП в Ruby