Pregunta

Estoy usando PHP 4, la única forma que conozco para causar un error y detiene todo lo está llamando die (). Pero en el caso corro en el error más tarde y no recuerdo donde su procedentes de me gustaría especificar el número de página y la línea porque la matriz () se produjo el (al igual que otros errores hacer con PHP). ¿Hay una manera de hacer esto?

Gracias!

¿Fue útil?

Solución

Usted debe mirar en la constantes mágicas.

echo __LINE__; // Line number

También puede ejecutar error_log () para enviar errores en voz baja en el registro.

Otros consejos

Creo que deberías usar trigger_error () a generar una E_USER_ERROR o E_USER_WARNING. Esto le permite controlar el comportamiento en detalle. Por ejemplo, puede especificar si los mensajes deben mostrarse en absoluto el uso de error_reporting () , o manejar el E_USER_WARNING :. s explícitamente usando set_error_handler ()

La forma más sencilla es utilizar:

echo __FILE__ . ": line " . __LINE__;
die();

Si se va a utilizar PHP5, se podría también utilizar las excepciones:

throw new Exception("My error message!");

El seguimiento de pila revelará toda la pila de llamadas y la línea de esto fue tirado en.

(EDIT: Gracias a [@ John Isaacs] y [@Emil H] para mí informar que las excepciones no se añadieron a PHP hasta PHP5)

Además de @Jukka Dahlbom y @ sugerencias de Ólafur Waage también podría considerar el uso de debug_backtrace() .

error_log() para informar de un error y debug_backtrace() para la depuración. También puede escribir su propia función de control de errores (ver set_error_handler() ) para combinar ambas cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top