[редактировать]

Язык PHP: О сложном

Основы / Математика / Строки и текст / Массивы и списки / Разные ошибки / О сложном

О сложных аспектах языка PHP для новичков.



Что такое Exception?

Исключения в программировании и в php.

Exception, на русском просто "Исключение", это объект, который обозначает произошедшую ошибку при выполнении определенной операции, метода или функции в коде.

Существует также понятие кидать исключение или кидать exception, что означает - инициировать возникновении непредвиденной ситуации в коде.

Все исключения в PHP это объекты унаследованные от класса Exception. Чтобы кинуть исключение, есть специальный оператор throw (в переводе с англ. "кинуть"). Давайте рассмотрим пример того, как кинуть исключение:

use Exception;

throw new Exception("Что-то пошло не так");

Очень важно понимать, что после того как кидается исключение, весь последующий код перестает выполняться до тех пор, пока другой код не отловит это исключение. Может случиться так, что исключение никто не отловит и тогда это будет отображено в логах сборки проекта со всеми подробностями!

Отлов исключений, ошибок

Очень много методов и функций в JPHP и DevelNext кидают исключения, чтобы сообщить программисту, что произошла непредвиденная ситуация, например при чтении файла произошла ошибка или при запросе к сайту соединение не было установлено. Один и тот же метод/функция может кидать несколько видов исключений с разными сообщениями и типами.

Чтобы отловить исключение (ошибку) используйте конструкцию try { ... } catch { }:

use Exception;

try {
    anyFuncCall();
} catch (Exception $e) {
    alert('Произошла ошибка - ' . $e->getMessage());
}

в catch указывается тип исключения, в этом примере он общий для всех исключений Exception, т.е. мы отлавливаем любые непредвиденные ситуации или ошибки, а также указывается в какую переменную класть объект-исключение, у нас это $e.