我编写了一个非常简单的代码来捕获PHP中的异常,但它仍然在页面上显示错误。我无法理解为什么它没有捕获异常。
<?php
try
{
session_start();
echo ($counter);
}
catch(Exception $e)
{
echo "caught exception";
}
?>
答案 0 :(得分:1)
在php 7之前你只能捕获异常,而不是错误,但是从php 7开始,你有一个名为\ Throwable的新接口,它比普通异常更通用,并且引入了实现Throwable的Error类
http://php.net/manual/en/class.throwable.php
目前有两种类型的Throwable对象,即Exceptions和Errors, 所以现在你也可以捕获错误, 但是,致命错误仍会破坏您的代码
你可以尝试
<?php
try
{
session_start();
echo ($counter);
}
catch(\Exception $e)
{
echo "caught exception";
}
catch(\Error $e)
{
echo "caught error";
}
或者你开车试试
try
{
session_start();
echo ($counter);
}
catch(\Throwable $e)
{
echo "caught exception";
}