自定义Exception类如何自动调用Exception Class的构造函数?

时间:2015-01-19 07:22:32

标签: php exception-handling constructor

自定义异常类自动调用异常类的构造函数,而不调用自定义异常构造函数中的父构造函数。据我所知,当我们想要在子类的对象上调用父构造函数时,我们必须在子类构造函数中编写 parent :: __ construct()
请有人告诉我,自定义异常类如何自动调用“异常”的父构造函数。
请参阅以下代码,

    <?php
class customException extends Exception {

    /* function  __construct($email) {
        echo $email." custom exception constructor<br />";
    } */

    public function errorMessage() {
        //error message
        $errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile()
        .': <b>'.$this->getMessage().'</b> is not a valid E-Mail address';
        return $errorMsg;
    }
}

$email = "someoneexample.com";

try {
    //check if
    if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) {
        //throw exception if email is not valid
        throw new customException($email);
    } else {

        echo "Valid email";
    }
}

catch (customException $e) {
    //display custom message
    echo $e->errorMessage();
}

输出是:

  

D:\ wamp \ www \ exception.php第41行出错:someoneexample.com不是有效的电子邮件地址

更新

  class ParentClass {

    function  __construct() {
        echo "This is parent class<br />";
    }
}

class Child extends ParentClass{

    function  __construct() {
        echo "This is child class<br />";
    }
}

$child = new Child();

输出 这是儿童班

0 个答案:

没有答案