0

我正在尝试为 codeigniter 创建自定义异常类。这是我的代码:

class Ci_exception extends Exception {

    var $CI;

    function __construct()
    {
        $this->CI =& get_instance();
    }

    public function errorMessage()
    {
        log_message('error', $this->getMessage());
        return $this->getMessage();
    }

}

如果没有构造方法,这个自定义类可以正常工作。使用构造方法, $this->getMessage() 方法不会返回任何消息。谁能解释为什么?

4

1 回答 1

1

您需要调用父级的构造函数;它不是隐含在 PHP 中的。您可能还想接受一个$message参数。

class Ci_exception extends Exception {

    var $CI;

    function __construct($message)
    {
        parent::__construct($message);
        $this->CI =& get_instance();
    }

    public function errorMessage()
    {
        log_message('error', $this->getMessage());
        return $this->getMessage();
    }

}
于 2012-04-06T20:57:33.770 回答