Define your own exception class : Exceptions « Development « PHP






Define your own exception class

<?php
   class InvalidEmailException extends Exception {
   
      function __construct($message, $email) {
         $this->message = $message;
         $this->notifyAdmin($email);
      }

      private function notifyAdmin($email) {
         mail("admin@yourdomain.com","INVALID EMAIL",$email,"From:web@example.com");
      }

   }

   class subscribe {
      function validateEmail($email) {
         try {
            if ($email == "") {
               throw new Exception("You must enter an e-mail address!");
            } else {
               list($user,$domain) = explode("@", $email);
                  if (! checkdnsrr($domain, "MX")) {
                     throw new InvalidEmailException("Invalid e-mail address!", $email);
                  } else {
                     return 1;
                  }
            }
         } catch (Exception $e) {
            echo $e->getMessage();
         } catch (InvalidEmailException $e) {
            echo $e->getMessage();
         }
      }

      function subscribeUser() {
         echo $this->email." added to the database!";
      }

   }

   $_POST['email'] = "someuser@example.com";

   if (isset($_POST['email'])) {
      $subscribe = new subscribe();
      if($subscribe->validateEmail($_POST['email']))
         $subscribe->subscribeUser($_POST['email']);
   }

?>


           
       








Related examples in the same category

1.Catch database connection exception