E_USER_ERROR is catchable by the error handler set with set_error_handler