Ловим исключения онлайн урок.


Для того, чтобы словить брошенное исключение, используется конструкция

try { 
  // some code, we may throw an exception there (or not)
} catch(Exception $e) {
  // handle exception if was throwed
}

При этом исключение может быть брошено в блоке try. Если в некоторой строке блока try было брошено исключение, то все инструкции после throw будут проигнорированы и (если исключение поймано) начнут выполнятся инструкции блока catch().

В круглых скобках catch() необходимо указать название класса исключения (пока что это просто Exception) а также переменную - экземпляр этого класса. Фактически это объявление типа переменной (Type hinting). Если брошенное исключение не совпадает с указанным классом, то возникнет ошибка (на самом деле это не всегда так - см. следующий урок).



В этом случае мы ловим брошенное исключение и выводим на экран сообщение (метод объекта исключения getMessage ) в виде строки, которая была передана в конструктор класса Exception.

Замечание. Из блока try не обязательно бросать исключение. В таком случае блок catch просто не сработает. Но бросить исключение вне блока try нельзя - мы получим fatal error.

Проверьте свои знания
В класс Fraction из предыдущих занятий (урок Статические Методы) добавить использование исключений при попытке деления на 0