Con
ErrorException puedes capturar los errores que no sean fatales en una excepción, ejemplo:
Código PHP:
Ver original<?php
function exception_error_handler($errno, $errstr, $errfile, $errline) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
try {
} catch (ErrorException $ee) {
echo $ee->getMessage(); //Aquí iría tu log de errores txt
}
En este caso imprime:
Cita: strpos() expects at least 2 parameters, 0 given
Si usas el método getTrace(), getCode(), getFile(), getMessage() etc. Puedes encontrar errores fácilmente.
En caso de tener PDOException y Exception las vas lanzando con throw, primero ErrorException, luego PDOException y por último Exception. Algo así:
Código PHP:
Ver original<?php
function exception_error_handler($errno, $errstr, $errfile, $errline) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
try {
try {
try {
} catch(ErrorException $ee) {
throw $ee;
}
} catch(PDOException $pdoe) {
throw $pdoe;
}
} catch(Exception $e) {
echo $e->getMessage(); //Aquí iría tu log de errores txt
}
Para mandar un error desde tu aplicación sería:
Código PHP:
Ver originalthrow new Exception('Tu mensaje de error');
También muy útil usar la directiva error_log para mostrar un log de errores de PHP general.