Php异常未被捕获


Php exceptions not being caught

我正在学习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你知道为什么吗?

您显示的代码将出现致命错误,因为您试图访问不存在的变量上的对象方法,但它不会引发异常。异常无法与php运行时错误进行比较。异常需要由程序员明确触发(或者由您正在使用的库触发)。

一个简单的测试可能看起来像这样:

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

也许这个例子太简单了,无法解释这个话题。但是,完全解释例外情况需要更多的话要说。您应该从阅读关于异常的PHP手册页面开始