1

我有一堂课并且注释行失败了(显然是因为我不需要$before 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而我只是没有正确使用它?我需要设置一些全局设置以便引发错误吗?

4

2 回答 2

1
set_error_handler(function($errno ,$errstr,$errfile,$errline,$errcontext){
   if($errno & error_reporting()) throw new Exception($errstr,$errno);
});

请记住,您要设置error_reporting为所需的级别。

于 2012-12-15T02:53:40.870 回答
0

您可以尝试添加:

    error_reporting(E_ALL);
ini_set('display_errors', 1);

如果这显示错误,则可能存在运行时配置错误。如果不可能,您可以相应地调整您的配置。您可以查看此处定义的各种与错误相关的变量。

于 2012-12-15T02:48:45.050 回答