SeekableIterator::seek
BadFunctionCallException
SPL
PHP Manual

# Exceptions

Table of Contents

- BadFunctionCallException — The BadFunctionCallException class
- BadMethodCallException — The BadMethodCallException class
- DomainException — The DomainException class
- InvalidArgumentException — The InvalidArgumentException class
- LengthException — The LengthException class
- LogicException — The LogicException class
- OutOfBoundsException — The OutOfBoundsException class
- OutOfRangeException — The OutOfRangeException class
- OverflowException — The OverflowException class
- RangeException — The RangeException class
- RuntimeException — The RuntimeException class
- UnderflowException — The UnderflowException class
- UnexpectedValueException — The UnexpectedValueException class

SPL provides a set of standard Exceptions.

See also the Predefined Exceptions

## SPL Exceptions Class Tree

- LogicException (extends Exception)
  - BadFunctionCallException
    - BadMethodCallException
  - DomainException
  - InvalidArgumentException
  - LengthException
  - OutOfRangeException
- RuntimeException (extends Exception)
  - OutOfBoundsException
  - OverflowException
  - RangeException
  - UnderflowException
  - UnexpectedValueException

# The BadFunctionCallException class

## Introduction

Exception thrown if a callback refers to an undefined function or if some arguments are missing.

## Class synopsis

BadFunctionCallException
class BadFunctionCallException extends LogicException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The BadMethodCallException class

## Introduction

Exception thrown if a callback refers to an undefined method or if some arguments are missing.

## Class synopsis

BadMethodCallException
class BadMethodCallException extends BadFunctionCallException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The DomainException class

## Introduction

Exception thrown if a value does not adhere to a defined valid data domain.

## Class synopsis

DomainException
class DomainException extends LogicException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The InvalidArgumentException class

## Introduction

Exception thrown if an argument is not of the expected type.

## Class synopsis

InvalidArgumentException
class InvalidArgumentException extends LogicException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The LengthException class

## Introduction

Exception thrown if a length is invalid.

## Class synopsis

LengthException
class LengthException extends LogicException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The LogicException class

## Introduction

Exception that represents error in the program logic. This kind of exceptions should directly lead to a fix in your code.

## Class synopsis

LogicException
class LogicException extends Exception {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The OutOfBoundsException class

## Introduction

Exception thrown if a value is not a valid key. This represents errors that cannot be detected at compile time.

## Class synopsis

OutOfBoundsException
class OutOfBoundsException extends RuntimeException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The OutOfRangeException class

## Introduction

Exception thrown when an illegal index was requested. This represents errors that should be detected at compile time.

## Class synopsis

OutOfRangeException
class OutOfRangeException extends LogicException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The OverflowException class

## Introduction

Exception thrown when adding an element to a full container.

## Class synopsis

OverflowException
class OverflowException extends RuntimeException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The RangeException class

## Introduction

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

## Class synopsis

RangeException
class RangeException extends RuntimeException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The RuntimeException class

## Introduction

Exception thrown if an error which can only be found on runtime occurs.

## Class synopsis

RuntimeException
class RuntimeException extends Exception {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The UnderflowException class

## Introduction

Exception thrown when performing an invalid operation on an empty container, such as removing an element.

## Class synopsis

UnderflowException
class UnderflowException extends RuntimeException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}

# The UnexpectedValueException class

## Introduction

Exception thrown if a value does not match with a set of values. Typically this happens when a function calls another function and expects the return value to be of a certain type or value not including arithmetic or buffer related errors.

## Class synopsis

UnexpectedValueException
class UnexpectedValueException extends RuntimeException {
/* Inherited properties */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 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 )
}