Catch不起作用

时间:2010-04-27 08:00:14

标签: php exception try-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);”但这并没有使得阻止工作。


如何获得所需的输出?

1 个答案:

答案 0 :(得分:0)

发布的代码,直接调用可以按预期工作。