Php异常未被捕获

时间:2013-11-30 20:02:02

标签: php exception try-catch

我正在学习PHP编程,我正在测试一些东西。

我正在测试Php中的一些Try Catch,所以我制作了这段代码:

try{

$string s = "";
$dataraw = explode(' %\"> ', $string s);

$this->x = explode('/', $dataraw[1]);
}
catch (Exception $e)
{
    $this->x = 0;
echo 'something went wrong :)';
}

我将此代码设计为崩溃并启动要捕获的异常,但它不会:o 你知道为什么吗?

1 个答案:

答案 0 :(得分:3)

您显示的代码将导致致命错误,因为您尝试访问非现有变量上的对象方法,但它不会引发异常。例外与php运行时错误不相上下。例程需要由程序员明确触发(或由您正在使用的库触发)。

简单的测试可能如下所示:

try {
    throw new Exception('Something bad happened');
} catch (Exception $e) {
    die($e->getMessage());
}

也许这个例子太简单,无法解释这个话题。但完全解释异常需要更多说明。您应该首先阅读PHP manual page about exceptions