Это должно так работать. Пожалуйста, скажите мне, что я делаю что-то не так.
Вот код:
<?php
try {
echo "start";
throw new Exception("test");
for ($index=0; $index < 1; $index++) {
echo "loop";
}
} catch ( Exception $e ){
echo "caught $e";
}
?>
Я получаю неисследованное исключение, если я перемещаю бросок внутри петли, он работает нормально, но это противоречит моей цели. Я мог бы взломать отдельные блоки try / catch, но это уже взлом.
Я пробовал это на сервере 5.2.13 и 5.2.17. Текущий выпуск находится на уровне 5.2.17, и нет, я не тестировал его на 5.3.8, потому что мне нужно было получить от своего хоста обновление и повторно протестировать много кода.
Любая любовь?
P.S.
Я знаю разницу между исключением и неперехваченным исключением. Но вот результат:
start
Fatal error: Uncaught exception 'Exception' with message 'test' in C:\UniServer\www\admin\water_ws\test.php:4 Stack trace: #0 {main} thrown in C:\UniServer\www\admin\water_ws\test.php on line 4