Hola a todos, hace dias que estoy con este tema y ya no se que puede ser ... erpero que me puedan ayudar.
 
Tengo una funcion propia para gestionar los errores, pero la @ no me captura el error. (si quito el set_error_handler si). 
Les pongo un ejemplo del codigo:  
 Código PHP:
    <?php
// funcion que gestiona los errores
function fnERROR_handler($num_err, $cadena_err, $archivo_err, $linea_err){    
    echo "<hr>";
    echo "num:    $num_err<br>";
    echo "file:    $archivo_err<br>";
    echo "text:    $cadena_err<br>";
    echo "BACKTRACE:<br>";
    foreach(debug_backtrace() as $ar_debug){
        $archivo    = @$ar_debug["file"];
        $linea        = @$ar_debug["line"];
        echo "    - $archivo......(linea: $linea)<br>";
    }
    echo "<hr>";
}
 
 
 
ini_set("display_errors","On");                    // ver errores en pantalla como parte de la salida
error_reporting(E_ALL);                            // nivel de reporte de errores (E_ALL=todos los errores)
set_error_handler("fnERROR_handler");            // funcion que gestiona los errores
 
/* -------------------------- PRUEBAS -------------------------- */
$vble_prueba    = @$vble_noexiste;                // esto no deberia dar error
?>    
  En este caso el error que se produce es un E_NOTICE pero me pasa tambien con los E_WARNING. 
Espero que no me falte nada por explicar. 
Un saludo.