Обратите внимание, что исключения не будут работать в следующем сценарии:
function victim() {
echo "this runs";
try {
killer();
}
catch(Exception $sudden_death) {
echo "still alive";
}
echo "and this runs just fine, too";
}
function killer() { throw new Exception("This is not going to work!"); }
victim();
Вам понадобится что-то еще, единственное, что более надежно, это что-то вроде установки вашего собственного обработчика ошибок, убедитесь, что все ошибки сообщаются обработчику ошибок, и убедитесь, что ошибки не преобразуются в исключения; затем вызовите ошибку, и ваш обработчик ошибок завершит работу сценария. Таким образом, вы можете выполнить код вне контекста killer () / жертва () и предотвратить нормальное завершение жертвы () (только если вы уничтожите скрипт как часть вашего обработчика ошибок).