Exception

(PHP 5 >= 5.1.0, PHP 7)

소개

Exception 은 모든 오류 예외의 기초 클래스 입니다.

클래스 개요

Exception {
/* 프로퍼티 */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 메소드 */
public __construct ([ string $message = "" [, int $code = 0 [, Throwable $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 )
}

프로퍼티

message

예외 메시지

code

예외 코드

file

예외가 만들어진 파일명

line

예외가 만들어진 라인

Table of Contents

add a note add a note

User Contributed Notes 3 notes

up
93
whysteepy at gmail dot com
6 years ago
Lists of Throwable and Exception tree as of 7.2.0

    Error
      ArithmeticError
        DivisionByZeroError
      AssertionError
      ParseError
      TypeError
        ArgumentCountError
    Exception
      ClosedGeneratorException
      DOMException
      ErrorException
      IntlException
      LogicException
        BadFunctionCallException
          BadMethodCallException
        DomainException
        InvalidArgumentException
        LengthException
        OutOfRangeException
      PharException
      ReflectionException
      RuntimeException
        OutOfBoundsException
        OverflowException
        PDOException
        RangeException
        UnderflowException
        UnexpectedValueException
      SodiumException

Find the script and output in the following links:
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a
https://3v4l.org/sDMsv

posted by someone here http://php.net/manual/en/class.throwable.php
up
35
cHao
10 years ago
Note that an exception's properties are populated when the exception is *created*, not when it is thrown.  Throwing the exception does not seem to modify them.

Among other things, this means:

* The exception will blame the line that created it, not the line that threw it.

* Unlike in some other languages, rethrowing an exception doesn't muck up the trace.

* A thrown exception and an unthrown one look basically identical.  On my machine, the only visible difference is that a thrown exception has an `xdebug_message` property while an unthrown one doesn't.  Of course, if you don't have xdebug installed, you won't even get that.
up
3
shaman_master at list dot ru
4 years ago
Note: this documentation not full, ReflectionObject::export($exception):
<?php
Object of
class [  class Exception implements Throwable ] {
  -
Properties [7] {
   
Property [  protected $message ]
   
Property [  private $string ]
   
Property [  protected $code ]
   
Property [  protected $file ]
   
Property [  protected $line ]
   
Property [  private $trace ]
   
Property [  private $previous ]
  }
  -
Methods [11] {
   
Method [  final private method __clone ] {
    }

   
Method [  public method __construct ] {

      -
Parameters [3] {
       
Parameter #0 [  $message ]
       
Parameter #1 [  $code ]
       
Parameter #2 [  $previous ]
     
}
    }

   
Method [  public method __wakeup ] {
    }

   
Method [  final public method getMessage ] {
    }

   
Method [  final public method getCode ] {
    }

   
Method [  final public method getFile ] {
    }

   
Method [  final public method getLine ] {
    }

   
Method [  final public method getTrace ] {
    }

   
Method [  final public method getPrevious ] {
    }

   
Method [  final public method getTraceAsString ] {
    }

   
Method [  public method __toString ] {
    }
  }
}
?>

Missed:

    Property [  private $string ]
    Property [  private $trace ]
    Property [  private $previous ]

    Method [  public method __wakeup ] {
    }
To Top