我正在学习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手册页面开始