Saber controlar las excepciones en php o cualquier otro lenguaje es fundamental, el correcto manejo de las excepciones nos permiten asegurarnos controlar el flujo de nuestro código y saber que todo se ejecuta de forma correcta.

Para poder capturar los distintos tipos de excepciones que tenemos disponibles en php debemos utilizar los bloques try catch finally de la siguiente forma.

Cómo puedes ver, podemos tener varios bloques catch dentro de una bloque try, de esta forma podemos capturar distintos tipos de excepción, algo necesario para poder tener bien asegurado nuestro código.

Aunque el bloque finally no es requerido, es bueno saber que existe por si en algún caso lo queremos utilizar, dentro de este bloque podemos ejecutar lo que queramos, siempre se ejecutará después del try y el catch y antes de que el flujo del script continúe.

Nuevas excepciones en php 7

El manejo de errores en php 7 se simplifica gracias a la interfaz Throwable, la cual es capaz de capturar las siguientes excepciones.

La interfaz Throwable en php 7

Excepciones en php y los bloques try catch

Ahora vamos a ver lo sencillo que es poder controlar algunos errores que suelen ocurrir en nuestros scripts, primero vamos a ver cómo capturar divisiones por 0.

Cómo puedes ver, utilizamos la interfaz DivisionByZeroError la cual automáticamente captura una excepción cuando se produce una división por 0.

Ahora, gracias a la interfaz Throwable somos capaces de capturar muchos tipos de excepción, en este caso utilizamos Exception, aunque realmente el que deberíamos utilizar en el ejemplo anterior sería la interfaz InvalidArgumentException. Al estar utilizando Throwable podemos cambiar la excepción por InvalidArgumentException y todo seguirá funcionando perfectamente.
[button-red url=”https://www.uno-de-piera.com/curso-php-avanzado-php-7/” target=”_blank” position=”center”] Aprende a desarrollar aplicaciones web utilizando Php 7 desde 0 [/button-red]
De todas formas, si lo preferimos, podemos utilizar las excepciones de siempre, más aún si nuestro servidor no trabaja con php 7, eso lo podemos hacer de la siguiente forma.

Aunque el manejo de las excepciones en php se puede complicar mucho más, desde la creación de nuestras propias excepciones hasta el manejo de excepciones anidadas, ya hemos visto las bases que es lo importante, cómo crearlas y cómo capturarlas utilizando bloques try catch, espero que te haya parecido interesante.