PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ErrorException::__construct> <Predefined Exceptions
Last updated: Fri, 01 Aug 2008

view this page in

ErrorException

Introducere

An Error Exception.

Sinopsisul clasei

ErrorException
class ErrorException extends Exception {
/* Properties */
protected int $severity ;
/* Methods */
public __construct ([ string $message [, int $code [, int $severity [, string $filename [, int $lineno ]]]]] )
final public int getSeverity ( void )
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int Exception::getCode ( void )
final public string Exception::getFile ( void )
final public string Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private string Exception::__clone ( void )
}

Proprietăţi

severity

The severity of the exception

Exemple

Example #1 Turn all error messages into ErrorException.

<?php
function exception_error_handler($errno$errstr$errfile$errline ) {
throw new 
ErrorException($errstr0$errno$errfile$errline);
}
set_error_handler("exception_error_handler");

/* Trigger exception */
strpos();
?>

Exemplul de mai sus va afişa ceva similar cu:

Fatal error: Uncaught exception 'ErrorException' with message 'Wrong parameter count for strpos()' in /home/bjori/tmp/ex.php:8
Stack trace:
#0 [internal function]: exception_error_handler(2, 'Wrong parameter...', '/home/bjori/php...', 8, Array)
#1 /home/bjori/php/cleandocs/test.php(8): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 8

Cuprins



add a note add a note User Contributed Notes
ErrorException
makariverslund at gmail dot com
10-Sep-2008 03:08
Building upon the notes present, here is a set of functions that transforms the error into an exception and reports the error to screen / log depending upon the PHP ini settings.

//Begin helper function definition
function ReportError ($msg)
{
    // be sure that the supplied parameter is a string and not empty
    if (empty ($msg) || !is_string ($msg))
    {
        throw new ErrorException ('Invalid parameter supplied to ReportError', 0, E_ERROR);
    }
   
    // retrieve error settings
    $display    = strtolower (ini_get ('display_errors'));
    $log        = strtolower (ini_get ('log_errors'));
   
    // check if we're displaying errors
    if ($display === 'on' || $display === '1' || $display === 1 || $display === 'true' || $display === true)
    {
        echo $msg;
    }
   
    // check if we're logging errors
    if ($log === 'on' || $log === '1' || $log === 1 || $log === 'true' || $log === true)
    {
        $result = error_log ($msg);
       
        // check for error while logging
        if (!$result)
        {
            throw new ErrorException ('Attempt to write message to error log failed in ReportError', 0, E_ERROR);
        }
    }
}

//Begin main function definition
function ErrorsAsExceptions ($level, $msg, $fileName, $lineNumber)
{
    // do nothing if error reporting is turned off
    if (error_reporting () === 0)
    {
        return;
    }

    // be sure received error is supposed to be reported
    if (error_reporting () & $level)
    {   
        try
        {
            // report error to appropriate channels
            ReportError ($reportMsg);
        }
        catch (ErrorException $e)
        {
            // ignore errors while reporting
        }
       
        // go ahead and throw the exception
        throw new ErrorException ($msg, 0, $level, $fileName, $lineNumber);
    }
}
troelskn at gmail dot com
29-Jul-2008 01:08
The following snippet installs an error-handler that turns errors into exceptions. It respects error-reporting level, so that you can still use error-suppression:

<?php
function exceptions_error_handler($severity, $message, $filename, $lineno) {
  if (
error_reporting() == 0) {
    return;
  }
  if (
error_reporting() & $severity) {
    throw new
ErrorException($message, 0, $severity, $filename, $lineno);
  }
}
set_error_handler('exceptions_error_handler');
?>

ErrorException::__construct> <Predefined Exceptions
Last updated: Fri, 01 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites