Как переопределить исключения PHPMAILER? - PullRequest
0 голосов
/ 18 апреля 2019

Я отправляю электронные письма через phpmailer, и я хочу переопределить исключения, например, когда вы отправляете электронное письмо, и при неудачном завершении вы можете получить сообщение об ошибке через:

echo json_encode"{$mail->ErrorInfo}";

но при ошибке

"Empty body"

Я хотел бы показать что-то еще. Любое решение? Спасибо

Ответы [ 3 ]

2 голосов
/ 18 апреля 2019
$new_msg = json_encode"{$mail->ErrorInfo}";

if ($new_msg == 'Empty body') {
  throw new CustomException("You custom message ");
} 

Где бы вы ни вызывали эту функцию, поймайте ожидание и покажите его пользователю.

try {
        if ($new_msg == 'Empty body') {
          throw new CustomException("You custom message ");
       } 
    } catch (CustomException $ex) {
        //This is where you can have your own handling, exceptions that you want to handle separately 
    } catch (Exception $ex) {
       // this part will handle general exceptions
        // and show user some general error message
    }
1 голос
/ 18 апреля 2019

Просто поймайте исключение и сделайте что-то совершенно другое!

try {
   $something->thatWillThrowAnException();
} catch (Exception $e) {
    // Do anything you want here!
}
1 голос
/ 18 апреля 2019

Вы можете поместить свое эхо в переменную, а затем выполнить проверку if, чтобы отобразить что-то еще.

$new_msg = json_encode"{$mail->ErrorInfo}";

if ($new_msg == 'Empty body') {
 echo 'You put here whatever you want';
} else {
 echo json_encode"{$mail->ErrorInfo}";
}
...