Exemplo n.º 1
0
// ======================================================================================
function PSPErrorHandler($errNo, $errMsg, $errFile, $errLine)
{
    PSP::Log("PSP - unhandled error occurred:\nError ID: " . $errNo . "\nError message: " . $errMsg . "\nFile: " . $errFile . "\nLine: " . $errLine);
    return false;
    // Return control to PHP's error handler
}
function PSPExceptionHandler(Exception $ex)
{
    $errNo = $ex->getCode();
    $errMsg = $ex->getMessage();
    $errFile = $ex->getFile();
    $errLine = $ex->getLine();
    try {
        PSP::Log("PSP - unhandled exception occurred:\nError ID: " . $errNo . "\nError message: " . $errMsg . "\nFile: " . $errFile . "\nLine: " . $errLine . (PSP::GetLogMode() === "Full" ? "\nStackTrace: " . $ex->getTraceAsString() : ""));
    } catch (Exception $excp) {
    }
    header("HTTP/1.1 500 Internal Server Error");
    header("Content-Type: text/html; charset=ISO-8859-1");
    echo "<b>An unhandled exception occurred</b><br><br>";
    echo $ex->getMessage();
    echo "<br><br><b>Stack trace</b><br><pre>";
    echo $ex->getTraceAsString();
    echo "</pre>";
}
if (PSP::IsLoggingEnabled() === true) {
    error_reporting(E_ALL | E_STRICT);
    ini_set("display_errors", 1);
    set_error_handler("PSPErrorHandler");
    set_exception_handler("PSPExceptionHandler");
}