charley12 Posted August 9, 2011 Share Posted August 9, 2011 Hello. I have my own class for handling errors (not Exceptions). But I want do not handle silent errors (@). <?php set_error_handler(array("Diagnostic_Debugger", "handlePhpError"), E_ALL); $a = array("A", "B"); echo $a[2]; //Yep, handle this. Error about undefied index. echo @$a[2]; //No, do NOT handle this. Is there any solution? Thank you. Quote Link to comment https://forums.phpfreaks.com/topic/244365-own-error-handler-do-not-handle-silent-errors/ Share on other sites More sharing options...
xyph Posted August 10, 2011 Share Posted August 10, 2011 From the manual It is important to remember that the standard PHP error handler is completely bypassed for the error types specified by error_types unless the callback function returns FALSE. error_reporting() settings will have no effect and your error handler will be called regardless - however you are still able to read the current value of error_reporting and act appropriately. Of particular note is that this value will be 0 if the statement that caused the error was prepended by the @ error-control operator Quote Link to comment https://forums.phpfreaks.com/topic/244365-own-error-handler-do-not-handle-silent-errors/#findComment-1255103 Share on other sites More sharing options...
charley12 Posted August 10, 2011 Author Share Posted August 10, 2011 Ou thank you. <?php //At handler if(error_reporting() !== 0) { //Handle } Really thank you! Quote Link to comment https://forums.phpfreaks.com/topic/244365-own-error-handler-do-not-handle-silent-errors/#findComment-1255108 Share on other sites More sharing options...
xyph Posted August 10, 2011 Share Posted August 10, 2011 You've got it. Quote Link to comment https://forums.phpfreaks.com/topic/244365-own-error-handler-do-not-handle-silent-errors/#findComment-1255110 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.