В этой части учебника разбирается исключения и ошибки в PHP, на мой взгляд это самая сложная часть учебника, поэтому её стоит читать внимательно.
Ошибки:
Перед тем как начать изучать исключения, надо не много пройтись по ошибкам, как их отключать и наоборот, как их включить полностью.
Включение всех ошибок:
Сначала покажу как включить показ ошибок в PHP, это очень полезно при разработке, так как, вы видите все ошибки которые есть в программе,
Через файл php.ini:
1 2 3 | error_reporting = E_ALL display_errors = On display_startup_errors = On |
Через php скрипт:
1 2 3 | ini_set('error_reporting', E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); |
Таким образом вы включаете все ошибки, какой вариант использовать вам, это ваше дело, но я бы использовал через PHP скрипт, так как, когда вы закончите разработку в конкретно скрипте, вы легко это отключите.
Но бывает такое, что вы включили и где то вам наоборот мешает ошибка, это можно исправить с помощью оператора управления ошибкой или знаком «@».
В остальном про ошибки особо не чего сказать.
Исключение:
Теперь пришло время изучить в PHP 7 исключения, на мой взгляд самая сложная часть в ООП, по крайне мере я долго не мог её понять, но постараюсь описать её максимально понятно.
Что такое исключения:
Исключение это механизм языка программирования, которое позволяет отлавливает ошибки и выводить какую либо информацию или сообщение.
Исключение в PHP 7:
Давайте сначала я покажу вам не большой код, и потом уже его разберём.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // Создаём функцию function inverse($x) { // Условие если переменная $x равна нулю if (!$x) { // Генерация исключения throw new Exception('Деление на ноль.'); } return 1/$x; } // Перехватываем исключение try { echo inverse(5) . "</br>"; echo inverse(0) . "</br>"; // Если исключение было поймано } catch (Exception $e) { // То выводим ошибку этого исключения echo 'Выброшено исключение: ' . $e->getMessage(). "</br>"; } |
Исключение можно сгенерировать используя оператор throw, и можно поймать или перехватить с помощью оператора catch.
Код который генерирует исключение, должен быть окружен блоком try, для того, чтобы можно было перехватить исключение, и каждый блок try должен иметь как минимум один соответствующий ему блок catch, это очень важно.
Вот что получилось на выходе.
Как видите сначала он просто разделил один на два, всё в порядке, но потом, когда должно делится на ноль, то он выводит ошибку исключения, что идёт деление на ноль.
В остальном, в принципе тут не чего рассказывать.
Вывод:
В этой статье мы разобрали, что такое исключения и ошибки в PHP 7, надеюсь достаточно понятно объяснил что это такое, так как я читая эту тему в книги «PHP 7 в подледнике», плохо её понял.