$argv
Exception
Language Reference
PHP Manual

# Predefined Exceptions

Table of Contents

- Exception — Exception
  - Exception::__construct — Construct the exception
  - Exception::getMessage — Gets the Exception message
  - Exception::getPrevious — Returns previous Exception
  - Exception::getCode — Gets the Exception code
  - Exception::getFile — Gets the file in which the exception occurred
  - Exception::getLine — Gets the line in which the exception occurred
  - Exception::getTrace — Gets the stack trace
  - Exception::getTraceAsString — Gets the stack trace as a string
  - Exception::__toString — String representation of the exception
  - Exception::__clone — Clone the exception
- ErrorException — ErrorException
  - ErrorException::__construct — Constructs the exception
  - ErrorException::getSeverity — Gets the exception severity

See also the SPL Exceptions

# Exception

## Introduction

Exception is the base class for all Exceptions.

## Class synopsis

Exception
class Exception {
/* Properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methods */
public __construct ([ string `$message` = "" [, int `$code` = 0 [, Exception `$previous` = `NULL` ]]] )
final public string getMessage ( void )
final public Exception getPrevious ( void )
final public mixed getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

## Properties

message

  The exception message

code

  The exception code

file

  The filename where the exception was created

line

  The line where the exception was created

# ErrorException

## Introduction

An Error Exception.

## Class synopsis

ErrorException
class ErrorException extends Exception {
/* Properties */
protected int $severity ;
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methods */
public __construct ([ string `$message` = "" [, int `$code` = 0 [, int `$severity` = 1 [, string `$filename` = __FILE__ [, int `$lineno` = __LINE__ [, Exception `$previous` = `NULL` ]]]]]] )
final public int getSeverity ( void )
/* Inherited methods */
final public string Exception::getMessage ( void )
final public Exception Exception::getPrevious ( void )
final public mixed Exception::getCode ( void )
final public string Exception::getFile ( void )
final public int Exception::getLine ( void )
final public array Exception::getTrace ( void )
final public string Exception::getTraceAsString ( void )
public string Exception::__toString ( void )
final private void Exception::__clone ( void )
}

## Properties

severity

  The severity of the exception

## Examples

Example #1 Use set_error_handler to change error messages into ErrorException.

`<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");
/* Trigger exception */
strpos();
?>`

The above example will output something similar to:

    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