¿Cómo recuperar el mensaje de error usando la clase de excepción en PHP cuando ocurrió un error?

El manejo de excepciones es la parte importante de PHP en la que nos ocupamos de cómo mantener el flujo del programa si ocurre un error o una excepción durante la compilación. 

Como sabe, podemos manejar la excepción mediante el método throw, try-catch, die, por lo que ahora entendemos cómo recuperar el mensaje de error utilizando la clase de excepción con los siguientes ejemplos.

Ejemplo 1: En esto, entendemos cómo recuperar el mensaje sin clase. Al usar la palabra clave getMessage() , podemos imprimir el mensaje de error para cualquier error que ocurra.

PHP

<?php
  
$i = 0; 
while($i < 10){
    try {
        if($i < 5)
        {
            // Display value of i and increment it.
            echo "Value of i is $i"."<br>";
            $i++;
        }
        else{
            // Throw the exception if occurs
            throw new Exception("Value of i is greater than 4.");
           
        }
    }
    catch(Exception $e) {
        
        // Display error message
        echo 'Error Message : ' .$e->getMessage();
        break;
    }
}
?>

Producción:

Ejemplo 2: en esto, entendemos cómo recuperar mensajes de error usando excepciones de clase. Primero, le pasamos el email y va en try block. Si no es válido, lanza la excepción y podemos obtener el mensaje de error escribiendo errormessage(). Podemos imprimir ese mensaje de error mediante el bloque catch como se ve en el siguiente mensaje.

PHP

<?php
  class customException extends Exception {
    public function errorMessage() {
        
      // Error message
      $errorMsg = 'Error Message :: '.'<b>'.$this->getMessage().
        '</b> is not a valid E-Mail address';
      return $errorMsg;
    }
  }
  
  $email = "gfg@gmail..com";
  
  try
  {
    // Check if
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        
      // Throw exception if email is not valid
      throw new customException($email);
    }
  }
  catch (customException $e) {
      
    // Display custom message
    echo $e->errorMessage();
  }
?>

Producción:

Publicación traducida automáticamente

Artículo escrito por rohanmittal1366 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *