basically PHP has a function to set a user-defined function when error occured. Handling fatal errors is impossible in PHP v5.x.
	
	
	
		
example using the set_error_handler :
http://www.w3schools.com/php/func_error_set_error_handler.asp
 
 
jdias said (2011) :
src - http://stackoverflow.com/a/7313887
 
 
A long example (send mail on error) - http://nyphp.org/PHundamentals/7_PHP-Error-Handling
Customising the PHP error handler - https://www.tonymarston.net/php-mysql/errorhandler.html
How to perform error handling in PHP - https://web.stanford.edu/dept/its/communications/webservices/wiki/index.php/How_to_perform_error_handling_in_PHP
 
 
whoops is an error handler framework for PHP. Out-of-the-box, it provides a pretty error interface that helps you debug your web projects, but at heart it's a simple yet powerful stacked error handling system. Dependencies required
https://filp.github.io/whoops/
 
 
One file handling all (Kondrashov Ilia) - https://github.com/caseycs/php-error-handler
 
 
In PHP v7.x
All errors in PHP 5 that were fatal, now throw instances of Error in PHP 7.
	
	
	
		
 
 
Handling multiple exceptions in PHP 7.1
http://www.codediesel.com/php/handling-multiple-exceptions-in-php-7-1/
			
			
		JavaScript:
	
	//example
<?php
set_error_handler("myErrorHandler");
.
.
.
/trigger error
trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR);
function sendMail($recipient_mail, $subject, $body)
{
    $headers = "From: x@x.com\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=utf-8\r\n";
     
    $message = '<html><body>';
    $message .= $body;
    $message .= '</body></html>';
 
    // line with trick - http://www.xpertdeveloper.com/2013/05/set-unicode-character-in-email-subject-php/
    $updated_subject = "=?UTF-8?B?" . base64_encode($subject) . "?=";
 
    if (mail($recipient_mail, $updated_subject, $message, $headers)) {
      return true;
    } else {
      return false;
    }
}
// A user-defined error handler function - http://php.net/manual/en/function.set-error-handler.php
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting, so let it fall
        // through to the standard PHP error handler
        return false;
    }
    $mail_body="";
    switch ($errno) {
    case E_USER_ERROR:
        $mail_body = "[B]My ERROR</b> [$errno] $errstr
\n";
        $mail_body .= "  Fatal error on line $errline in file $errfile";
        $mail_body .= ", PHP " . PHP_VERSION . " (" . PHP_OS . ")
\n";
        $mail_body .= "Aborting...
\n";
        //exit(1);
        break;
    case E_USER_WARNING:
        $mail_body = "[B]My WARNING</b> [$errno] $errstr
\n";
        break;
    case E_USER_NOTICE:
        $mail_body = "[B]My NOTICE</b> [$errno] $errstr
\n";
        break;
    default:
        $mail_body = "Unknown error type: [$errno] $errstr
\n";
        break;
    }
    sendMail("x@x.com", "Error Occured", $mail_body);
    
    /* Execute PHP internal error handler, otherwise return true, to continue the execution */
    return false;
}example using the set_error_handler :
http://www.w3schools.com/php/func_error_set_error_handler.asp
jdias said (2011) :
Actually you can handle parse and fatal errors. It is true that the error handler function you defined with set_error_handler() will not be called. The way to do it is by defining a shutdown function with register_shutdown_function().
src - http://stackoverflow.com/a/7313887
A long example (send mail on error) - http://nyphp.org/PHundamentals/7_PHP-Error-Handling
Customising the PHP error handler - https://www.tonymarston.net/php-mysql/errorhandler.html
How to perform error handling in PHP - https://web.stanford.edu/dept/its/communications/webservices/wiki/index.php/How_to_perform_error_handling_in_PHP
whoops is an error handler framework for PHP. Out-of-the-box, it provides a pretty error interface that helps you debug your web projects, but at heart it's a simple yet powerful stacked error handling system. Dependencies required
https://filp.github.io/whoops/
One file handling all (Kondrashov Ilia) - https://github.com/caseycs/php-error-handler
In PHP v7.x
All errors in PHP 5 that were fatal, now throw instances of Error in PHP 7.
		JavaScript:
	
	try {
   // Code that may throw an Exception or Error.
} catch (Throwable $t) {
   // Executed only in PHP 7, will not match in PHP 5
} catch (Exception $e) {
   // Executed only in PHP 5, will not be reached in PHP 7
}Handling multiple exceptions in PHP 7.1
http://www.codediesel.com/php/handling-multiple-exceptions-in-php-7-1/
