我正在学习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 你知道为什么吗?
答案 0 :(得分:3)
您显示的代码将导致致命错误,因为您尝试访问非现有变量上的对象方法,但它不会引发异常。例外与php运行时错误不相上下。例程需要由程序员明确触发(或由您正在使用的库触发)。
简单的测试可能如下所示:
try {
throw new Exception('Something bad happened');
} catch (Exception $e) {
die($e->getMessage());
}
也许这个例子太简单,无法解释这个话题。但完全解释异常需要更多说明。您应该首先阅读PHP manual page about exceptions