Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

PHP / Exception – Manejo de excepciones en PHP

¿que es una excepción?

Es la indicación de que hay un problema al ejecutar una aplicación.

A continuación dejo una cita de lo que es el manejo de excepciones desde wikipedia.

El manejo de excepciones es una técnica de programación que permite al programador controlar los errores ocasionados durante la ejecución de un programa informático .

wikipedia.org

Bueno a fin de cuenta y todo como manejamos una excepción en php.

En PHP podemos lanzar una excepción con la palabra clave throw y atrapada con catch.

Para facilitar la captura de la excepción es recomendable poner el codigo donde se puede ejecutar el error dentro de un bloque try el cual debe tener
por lo menos un bloque catch o un finally o los 2 .

Veamos cada uno de estos bloques por separado:

try: contiene el código que puede tener una posible excepción, este código es ejecutado a menos que lance una excepción.

throw: con throw podemos lanzar una excepción. Esto quiere decir que no importa si para el código hay una excepción ahí o no para nuestro programa, lo es porque la estamos definiendo como tal.

catch: como vimos antes el bloque catch es el bloque que captura la excepción, dentro de try podemos tener varios bloques catch de esta manera podemos capturar varias excepciones y hacer algo distinto en consecuencia.

finally: este bloque es un bloque que se ejecuta si se ha encontrado una excepción o no, también al igual que catch puede haber más de un bloque finally.

Ejemplo con throw: haremos que lance una excepción a como de lugar.

<?php
  try{
    throw new Exception('una excepcion sin sentido');
  }catch(Exception $e){
     echo "la excepcion capturada es: ".$e;
  }
?>

Bien veamos que obtenemos en pantalla

Ejemplo sin throw, dividamos por 0.

<?php
    try{
        $x =1/0;
        echo $x;
    }catch(Exception $e){
        echo $e;
    }finally{
        echo "<br/> no debes dividir por 0";
    }
?>

En este caso obtenemos la siguiente excepción

Referencia: php.net

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category