Comando throw
El comando throw se utiliza para lanzar explícitamente una excepción en PHP.
Acepta un parámetro: un objeto de excepción que debe ser una instancia de una clase
heredada de la clase base Exception. Cuando se llama a esta función, la ejecución del código
actual se detiene inmediatamente, y PHP intenta encontrar el bloque catch correspondiente para manejar la excepción.
Sintaxis
throw new ExceptionClass(message, code, previous);
Ejemplo
Un ejemplo simple de generación de excepciones:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('La edad no puede ser negativa');
}
?>
Resultado de la ejecución del código:
Fatal error: Uncaught Exception: La edad no puede ser negativa
Ejemplo
Ejemplo con manejo de excepciones:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('División por cero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Resultado de la ejecución del código:
'Error: División por cero'
Ejemplo
Uso de una excepción personalizada:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Mensaje de error personalizado');
} catch (MyCustomException $e) {
echo 'Error personalizado capturado: ' . $e->getMessage();
}
?>
Resultado de la ejecución del código:
'Error personalizado capturado: Mensaje de error personalizado'