您好,欢迎访问一九零五行业门户网

当PHP程序执行报错的时候,如何让剩下的代码继续执行?

比如下面的这段代码,打印的结果只显示public,然后报致命错,那么入伙跳过这段错误让后边的程序继续执行呢?想要的输出格式是
public
错误
错误
public protected private
class myclass
{
public $public='public';
protected $protected='protected';
private $private='private';
function printhello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
};
$obj=new myclass();
echo $obj->public;
echo $obj->protected;
echo $obj->private;
$obj->printhello();
回复讨论(解决方案) try catch捕捉处理下
是这样吗?但是还是第二行报错,后边的代码还是不会执行啊
try {
echo $obj->protected;
} catch (emptyiterator $e) {
print $e->getmessage();
}
cannot access protected property myclass::$protected 
无法访问受保护的资源
这是致命性错误,不可回避!
换句话说:是你不懂规矩了
你可以用简单的调试函数来观察对象的属性
print_r($obj);

var_dump($obj);
致命错误是没办法跳过的,一旦发生,就会停止运行。
受教了,谢谢各位
其它类似信息

推荐信息