Logo Studenta

Manejo de excepciones en PHP

¡Estudia con miles de materiales!

Vista previa del material en texto

Manejo de excepciones en PHP 
 
En PHP, el manejo de excepciones permite controlar y gestionar errores o situaciones 
excepcionales que pueden ocurrir durante la ejecución de un script. Cuando se produce una 
excepción, se lanza una "excepción" que interrumpe el flujo normal del programa y se busca 
un bloque de código (try-catch) para manejarla de forma adecuada. 
 
El manejo de excepciones en PHP se realiza mediante los siguientes bloques: 
 
1. Bloque "try": Dentro de este bloque, se coloca el código que potencialmente puede lanzar 
una excepción. 
 
2. Bloque "catch": Si se produce una excepción dentro del bloque "try", el control pasa al 
bloque "catch". Aquí se define el código que manejará la excepción. 
 
3. Bloque "finally" (opcional): Puedes utilizar un bloque "finally" para definir código que se 
ejecutará siempre, tanto si se lanza una excepción como si no. 
 
Ejemplo de manejo de excepciones en PHP: 
 
try { 
 // Código que puede lanzar una excepción 
 $resultado = 10 / 0; 
} catch (Exception $e) { 
 // Manejo de la excepción 
 echo "Se produjo una excepción: " . $e->getMessage(); 
} finally { 
 // Código que se ejecutará siempre, independientemente de si hay excepción o no 
 echo "Fin del proceso"; 
} 
 
En este ejemplo, al intentar dividir 10 entre 0, se produce una excepción de tipo 
"DivisionByZeroError" (una subclase de "ArithmeticError"). La excepción es capturada en el 
bloque "catch" y se imprime un mensaje de error. 
 
Además de usar bloques "try-catch", también puedes definir tus propias excepciones 
personalizadas extendiendo la clase base "Exception" o alguna de sus subclases. 
 
Ejemplo de excepción personalizada: 
 
class MiExcepcionPersonalizada extends Exception { 
 public function __construct($mensaje, $codigo = 0, Throwable $excepcionAnterior = null) 
{ 
 parent::__construct($mensaje, $codigo, $excepcionAnterior); 
 } 
 
 public function __toString() { 
 return __CLASS__ . ": [{$this->code}]: {$this->message}\n"; 
 } 
} 
 
try { 
 $edad = 15; 
 if ($edad < 18) { 
 throw new MiExcepcionPersonalizada("Eres menor de edad"); 
 } 
} catch (MiExcepcionPersonalizada $e) { 
 echo $e; 
} 
 
En este ejemplo, se define una excepción personalizada llamada 
"MiExcepcionPersonalizada" que hereda de "Exception". Luego, se lanza la excepción si la 
variable `$edad` es menor de 18 y se captura en el bloque "catch". 
 
El manejo de excepciones es útil para detectar y manejar errores de forma controlada y 
ofrecer una mejor experiencia al usuario en caso de que ocurran problemas en el script. Es 
recomendable utilizar el manejo de excepciones en situaciones en las que el código pueda 
fallar y se necesite un control más específico del flujo de ejecución.

Continuar navegando