Приднестровская поддержка XOOPS
Чтобы понять, как работают исключения, нужно рассказать о том, что представляет собой стек вызовов. По существу, стек вызовов (call stack) представляет собой запись, в которой указывается очередность вызова функций и методов в сценарии. Рассмотрим следующий пример:
function firstFunction() {
secondFunction();
}
function secondFunction() {
thirdFunction();
}
function thirdFunction() {
echo "Добро пожаловать!";
}
firstFunction();
В процессе выполнения этого сценария функция firstFunction() вызовет функцию secondFunction(), которая, в свою очередь, вызовет функцию thirdFunction(). Что же будет представлять собой стек вызовов, если мы будем находиться внутри вызова функции thirdFunction()? Он будет выглядеть примерно так:
thirdFunction();
secondFunction();
firstFunction();
Теперь становится понятным, что стек вызовов — это ни что иное, как запись очередности вызова функций. Первой функцией, которая была помещена в стек вызовов, является функция firstFunction(), потому что именно она была вызвана первой из всех других функций, а текущая функция, thirdFunction(), находится вверху стека. По мере возврата результата этими функциями они покидают стек до тех пор, пока мы снова не вернемся к ним. Принцип стека вызовов является важной частью обработки исключений, о чем будет сказано далее.
Отправитель | Нити |
---|
5 пользователь(ей) активно (4 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 5 далее... |