El método trigger_error

13 \13\UTC junio \13\UTC\Friday 2008

A pesar de usar PHP por años he conocido recientemente este método al buscar una manera mas facil de controlar los errores que pueden ocurrir durante la ejecución de un script.

Yo uso AMFPHP para conectar el cliente Flash con mi servidor con PHP, y que decir, me sirve de mucho. Cree mis clases, mis metodos, etc etc y diseñe los metodos de tal manera que siempre me devolvian una matriz asociativa de la forma {data:mixed, error:str, errcode:int}. Asi que cuando lo queria usar un metodo siempre tenia que verificar if($func_result[“error”]==””) lo cual era algo tedioso y no me permitia programar rapidamente porque tenia que estar controlando errores para cada llamada. Un día dije SE ACABÓ y me puse a investigar como lo hacen los grandes. Asi encontre las llamadas Exceptions (excepciones) y senti un alivio al mismo tiempo que me senti un imbecil por no haber encontrado esto antes.

Funcionan asi:
cuando se produsca un error llamas al método trigger_error pasandole como primer parametro una descripcion del error y como segundo el codigo del error. El código no te lo vas a inventar, ya hay codigos predefinidos que PHP conoce, si pones uno que no existe simplemente el error que verás es el que PHP te increpa porque no haces las cosas bien.

Ahora, que pasa cuando no quieres que cierto error se muestre, en vez de eso quieres “controlarlo”. Para eso existe las sentencia try … catch. Lo que hace es bien simpatico:

try{ 
// Aki escribes el codigo que quieres probar
}catch(Exception $e){ 
// Si el codigo probado produjera un error se ejecutara esto  
// La informacion del error puedes leerla de $e. $e es un objeto de la clase Exception.  
// Puedes ver que propiedades tiene esta clase en la documentacion de PHP.net
}

Lo que si no he podido es pasar un código personalizado del error. La mentablemente el metodo trigger_error solo acepta dos parametros, y el segundo es como ya dije no puede ser personalizado.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: