我有一个类,注释行失败(显然是因为$
之前我不需要displayname
),但我最终不得不放一堆echo
由于没有抛出错误,所以语句可以解决这个问题。
我希望有办法。
class RegisterModel {
var $displayname;
...
function RegisterModel() {
try {
if (empty($_POST) === false) {
// THIS LINE IS FAILING ... BUT I'M NOT GETTING AN ERROR
// I KNOW WHY IT'S FAILING ... BUT I WANT AN ERROR TO THROW
$this->$displayname = $_POST['displayname'];
...
}
}
catch (Exception $e) {
echo $e->getMessage();
}
}
}
如果错误被抛入catch
,我只是没有正确使用它?是否需要设置一些全局设置以便抛出错误?
答案 0 :(得分:1)
set_error_handler(function($errno ,$errstr,$errfile,$errline,$errcontext){
if($errno & error_reporting()) throw new Exception($errstr,$errno);
});
请注意,您希望将error_reporting
设置为所需级别。
答案 1 :(得分:0)
您可以尝试添加:
error_reporting(E_ALL);
ini_set('display_errors', 1);
如果显示错误,则可能存在运行时配置错误。如果不可能,您可以相应地调整配置。您可以查看定义的各种与错误相关的变量here。