Как пользовательский класс исключения автоматически вызывает конструктор класса исключения?

Пользовательский класс исключений автоматически вызывает конструктор класса исключений без вызова родительского конструктора в конструкторе пользовательских исключений. Насколько я знаю, когда мы хотим вызвать родительский конструктор для объекта дочернего класса, то мы должны написать Родитель :: __ конструкт () в конструкторе дочернего класса.
Пожалуйста, кто-нибудь подскажет, как пользовательский класс исключений автоматически вызывает родительский конструктор «Exception».
Пожалуйста, смотрите код ниже,

    <?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();
}

ВЫХОД ЭТО:

Ошибка в строке 41 в D: \ wamp \ www \ exception.php: somebodyexample.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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector