为codeigniter创建自定义异常类

时间:2012-04-06 20:55:01

标签: php codeigniter

我正在尝试为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()方法不会返回任何消息。任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分: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();
    }

}