set_error_handler( function( $num, $msg, $file, $line ) { # take into account the '@' operators ( or remove this line and ignore them ): if ( error_reporting() === 0 ) return false; throw new \ErrorException( $msg, $num, 0, $file, $line ); });This will transform all user catchable internal php errors (not parse errors) into \ErrorException exceptions (a subclass of \Exception ).
Cheers