自定义异常类自动调用异常类的构造函数,而不调用自定义异常构造函数中的父构造函数。据我所知,当我们想要在子类的对象上调用父构造函数时,我们必须在子类构造函数中编写 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();
输出 这是儿童班