¡Hola! ¿Cómo están? ¡Bienvenidos! Continuando con el curso de PHP, hoy veremos lo que son las excepciones en PHP 8.
Cuando creamos una aplicación web, es común que en algunas ocasiones ciertas partes del código generen errores durante la ejecución del programa. Estos errores pueden afectar la experiencia del usuario y resultar en una interacción poco satisfactoria. Sin embargo, es posible gestionar y manejar estos errores de manera adecuada.
¡Empecemos!
¿Qué son las excepciones en PHP?
Las excepciones son una forma de manejar errores que ocurren durante la ejecución de un programa. Una excepción es un objeto que representa un error o una condición inusual que ha ocurrido en el código y que puede interrumpir el flujo normal de ejecución. PHP proporciona para la gestión de errores las palabras reservadas “try”, “catch”, “throw” y “finally”.
La sintaxis básica para lanzar una excepción es la siguiente:
try { // Código que puede lanzar una excepción } catch (MiExcepcion $e) { // Código para manejar la excepción }
Ejemplo de implementar una excepción try-catch
Veamos un ejemplo. En primer lugar, vamos a crear en la carpeta de nuestro proyecto el archivo excepciones.php. Seguidamente, vamos a crear una clase “División” que contendrá un método dividirUnNumero(). En el método escribiremos unas líneas de código que realicen la división de un número dado, para poder controlar las excepciones que puedan ocurrir utilizaremos try-catch (por ejemplo, división por cero).
class Division { public function dividirUnNumero($numero){ try { if(!$numero || !is_numeric($numero)){ throw new Exception("Número no valido"); } echo "El resultado es: " . 2/$numero; echo "<br>"; } catch (Exception $e){ echo "Error de division :" . $e->getMessage(); echo "<br>"; } finally { return "Bloque try catch finalizado "; } } }
Por último, vamos a crear un objeto $numero que sea una nueva instancia de la clase “Division”, con el objeto $numero vamos a llamar al método dividirUnNumero con un parámetro. Por ejemplo, el número 4, la división será 2/4 = 0.5.
$numero = new Division(); echo $numero->dividirUnNumero(4);
En este caso al ser una división válida no ejecuta la excepción. Veamos otro ejemplo, esta vez enviamos al método dividirUnNumero() el número 0, la división será 2/0 = no tiene resultado definido por lo que se genera la excepción.
echo $numero->dividirUnNumero(0);
En este caso el código ingresa a la excepción catch y arroja un mensaje de error. La función finally se ejecuta en ambos casos.
Veamos un ejemplo más, esta vez enviamos al método dividirUnNumero() una letra en lugar de un número, de igual forma ingresa a la excepción “catch”.
echo $numero->dividirUnNumero("hola");
Veamos en el navegador los resultados obtenidos.

Las excepciones en PHP controlan las situaciones excepcionales o errores de nuestro programa de manera estructurada y controlada, lo que facilita el desarrollo de aplicaciones más robustas y confiables.
Ejercicios de la clase
1.- Crear una clase que valide la edad (que acepte la edad mayor o igual a 1 año o menor de 100 años), lanza una excepción personalizada en caso que la condición no cumpla.
Hasta aquí la clase de hoy, excepciones en PHP 8. Puedes descargarte el código fuente de este ejemplo y todos los demás en el repositorio de GitHub, si tienes alguna consulta puedes dejarnos un comentario o si quieres saber más acerca de este tema puedes visitar el sitio oficial de PHP. En el próximo tutorial veremos lo que son los Atributos y métodos estáticos en PHP 8.
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.