Excepciones en PHP: La excepción es la que describe el error o comportamiento inesperado del script PHP. La excepción se produce en muchas tareas y clases de PHP. Las tareas y clases definidas por el usuario también pueden funcionar de manera diferente. La excepción es una buena manera de detener el trabajo cuando se trata de datos que puede usar.
Lanzar excepciones en PHP: la declaración de lanzamiento en PHP permite que una función o método definido haga lo contrario. Si se lanzan alternativas, no se utilizará el siguiente código. Si no se detecta la excepción, se producirá un error peligroso con el mensaje «Excepción no detectada».
Ejemplo 1:
PHP
<?php function division_operation($dividend, $divisor) { if($divisor == 0) { throw new Exception("Divide by Zero Error"); } return $dividend / $divisor; } echo division_operation(12, 0); ?>
Producción:
Ejemplo 2: El siguiente ejemplo demuestra el uso de la sentencia try…catch de PHP para evitar el escenario anterior.
PHP
<?php function division_operation($dividend, $divisor) { if($divisor == 0) { throw new Exception("Raise Exception : Division by 0"); } return $dividend / $divisor; } try { echo division_operation(12, 0); } catch(Exception $e) { echo "Exception is Caught! : Unable to divide by 0"; } ?>
Producción:
Exception is Caught! : Unable to divide by 0
Manejo de excepciones usando try… catch… finalmente :
Ejemplo 3: en el siguiente código, todo lo que esté presente en la declaración «finalmente» se ejecutará independientemente de la excepción.
PHP
<?php function division_operation($dividend, $divisor) { if($divisor == 0) { throw new Exception("Raise Exception : Division by 0"); } return $dividend / $divisor; } try { echo division_operation(12, 0); } catch(Exception $e) { echo "Exception is Caught! : Unable to divide by 0........"; } finally { echo "Finally block execution - Process complete."; } ?>
Producción:
Exception is Caught! : Unable to divide by 0........Finally block execution - Process complete.