Catch Fatal Errors in PHP

By Avinash

January 28, 2013Tips & Tricks5 Comments

In this tutorial we will see how to catch the fatal errors in PHP. Normally we can’t cache FATAL Error because those are FATAL.

This will be useful when you want to show specific well formatted error page rather than PHP Error, when your program ends unexpectedly due to some fatal errors.

We will use register_shutdown_function function to catch the fatal errors and format as we need.

Keep in mind that register_shutdown_function will gets executed after your script execution ends either it is successful or ends with any error.

So before performing any action in this function we need to check if really any fatal occurs or not. If occurs then we will show error page else it will continue to run as it is. So to get the details of the last error we will use error_get_last() function.

Code

function catch_fatal_error() { // Getting Last Error $last_error = error_get_last(); // Check if Last error is of type FATAL if(isset($last_error['type']) && $last_error['type']==E_ERROR) { // Fatal Error Occurs // Do whatever you want for FATAL Errors } } register_shutdown_function('catch_fatal_error');
function catch_fatal_error()
{
  // Getting Last Error
  $last_error =  error_get_last();
 
  // Check if Last error is of type FATAL
  if(isset($last_error['type']) && $last_error['type']==E_ERROR)
  {  
    // Fatal Error Occurs
    // Do whatever you want for FATAL Errors
  }

}
register_shutdown_function('catch_fatal_error');

Share This Article