Catch не работает

Я озадачен. Что может заставить «улов» не работать и как его исправить?

<?php try { throw new Exception('BOOM'); error_log("should not happen"); } catch(Exception $e) { error_log("should happen: " . $e->getMessage()); } ?> 

Фактический выход

 [27-Apr-2010 09:43:24] PHP Fatal error: Uncaught exception 'Exception' with message 'BOOM' in /mycode/exception_problem/index.php:4 Stack trace: #0 {main} thrown in /mycode/exception_problem/index.php on line 4 

Желаемый выход

 should happen: BOOM 

Версия PHP 5.2.3

В php_info () я не вижу, чтобы исключения могли быть отключены.

Я попытался с "restore_exception_handler ();" но это не делает работу блока catch.

Я также пытался использовать «set_exception_handler (NULL)»; но это не делает работу блока catch.


Как получить желаемый результат?

выведенный код, вызываемый напрямую, работает так, как вы ожидаете.