Я думаю, вы ожидаете, что return
будет вести себя скорее как исключение, чем как оператор return. Возьмите следующий код, например:
return.php:
return true;
?>
exception.php:
<?php
throw new exception();
?>
При выполнении следующего кода:
<?php
function testReturn() {
echo 'Executing testReturn()...';
include_once('return.php');
echo 'testReturn() executed normally.';
}
function testException() {
echo 'Executing testException()...';
include_once('exception.php');
echo 'testException() executed normally.';
}
testReturn();
echo "\n\n";
try {
testException();
}
catch (exception $e) {}
?>
... в результате вы получите следующий вывод:
Выполнение testReturn () ... testReturn () выполняется нормально.
Выполнение testException () ...
Если вы используете метод исключения, обязательно поместите вызов функции в блок try...catch
- наличие исключений, распространяющихся повсюду, плохо для бизнеса.