Blog de programación, errores, soluciones

PHP / error – manejo de errores en php

En php los errores se manejan de una manera algo distinta a otros lenguajes, php tratara de seguir adelante con los errores y todo hasta que un error fatal ocurra. Claro esta que dara notificaciones de esos errores.

Cada error que genera PHP incluye un tipo. Existe una lista de dichos tipos, junto con una breve descripción de su comportamiento y sus posibles causas. Dejo la lista a continuacion:

ValorConstanteDescripciónNota
1E_ERROR (integer)Errores Fatales en tiempo de ejecución. Éstos indican errores que no se pueden recuperar, tales como un problema de asignación de memoria. La ejecución del script se interrumpe.
2E_WARNING (integer)Advertencias en tiempo de ejecución (errores no fatales). La ejecución del script no se interrumpe.
4E_PARSE (integer)Errores de análisis en tiempo de compilación. Los errores de análisis deberían ser generados únicamente por el analizador.
8E_NOTICE (integer)Avisos en tiempo de ejecución. Indican que el script encontró algo que podría señalar un error, pero que también podría ocurrir en el curso normal al ejecutar un script.
16E_CORE_ERROR(integer)Errores fatales que ocurren durante el arranque incial de PHP. Son como unE_ERROR, excepto que son generados por el núcleo de PHP.
32E_CORE_WARNING(integer)Advertencias (errores no fatales) que ocurren durante el arranque inicial de PHP. Son como un E_WARNING, excepto que son generados por el núcleo de PHP.
64E_COMPILE_ERROR(integer)Errores fatales en tiempo de compilación. Son como un E_ERROR, excepto que son generados por Motor de Script Zend.
128E_COMPILE_WARNING(integer)Advertencias en tiempo de compilación (errores no fatales). Son como unE_WARNING, excepto que son generados por Motor de Script Zend.
256E_USER_ERROR(integer)Mensaje de error generado por el usuario. Es como un E_ERROR, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().
512E_USER_WARNING(integer)Mensaje de advertencia generado por el usuario. Es como un E_WARNING, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().
1024E_USER_NOTICE(integer)Mensaje de aviso generado por el usuario. Es como un E_NOTICE, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().
2048E_STRICT (integer)Habilítelo para que PHP sugiera cambios en su código, lo que asegurará la mejor interoperabilidad y compatibilidad con versiones posteriores de PHP de su código.Desde PHP 5 pero no incluidoen E_ALLhasta PHP 5.4.0
4096E_RECOVERABLE_ERROR(integer)Error fatal capturable. Indica que ocurrió un error probablemente peligroso, pero no dejó al Motor en un estado inestable. Si no se captura el error mediante un gestor definido por el usuario (vea también set_error_handler()), la aplicación se abortará como si fuera un E_ERROR.Desde PHP 5.2.0
8192E_DEPRECATED(integer)Avisos en tiempo de ejecución. Habilítelo para recibir avisos sobre código que no funcionará en futuras versiones.Desde PHP 5.3.0
16384E_USER_DEPRECATED(integer)Mensajes de advertencia generados por el usuario. Son como un E_DEPRECATED, excepto que es generado por código de PHP mediante el uso de la función de PHP trigger_error().Desde PHP 5.3.0
32767E_ALL (integer)Todos los errores y advertencias soportados, excepto del nivel E_STRICT antes de PHP 5.4.0.32767 en PHP 5.4.x, 30719 en PHP 5.3.x, 6143 en PHP 5.2.x, 2047 anteriormente

Los errores que se notifican y los que se ignoran se controla mediante la directiva error_reporting de php.ini

En ocaciones la notificación de errores estará deshabilitada así que es algo a tener en cuenta. En caso que este deshabilitada poner el codigo siguiente al inicio para ver los errores es una solución si es que no puede activar las notificaciones de errores.

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
?>

Mas de php en: PHP 101 -mini tutorial de PHP

Ayudame: Por favor deja un comentario antes de irte, tu opinión es bienvenida. Si te gusta el contenido comparte.