예외(exception)란 프로그램이 실행 중에 발생하는 런타임 오류를 의미합니다.
PHP에서는 프로그램이 실행되는 도중 발생하는 예외를 처리하기 위해 try / catch / finally 문을 사용합니다.
try 블록 내부에서 예외가 발생하면, 예외를 던지(throw)고, 잡아(catch)서 처리하는 구조입니다.
자바와 같은 언어에서는 자동으로 예외를 던져 주지만, PHP는 예외를 수동으로만 던질 수 있습니다.
PHP에서 throw 키워드를 사용하여 예외를 던질 수 있습니다.
throw 예외객체;
이때 예외 객체는 반드시 Exception 클래스나 Exception 클래스를 상속받은 자식 클래스이어야 합니다.
예외가 던져지고 나면 실행 중인 코드는 중지되고, try 블록 아래에 위치한 catch 블록에서 해당 예외를 처리할 수 있습니다.
만약 던져진 예외가 끝까지 처리되지 않으면, 치명적인 오류가 발생합니다.
PHP에서는 Exception 클래스의 인스턴스뿐만 아니라, 사용자가 직접 정의한 예외 객체를 던질 수도 있습니다.
이러한 사용자 정의 예외 클래스는 Exception 클래스를 상속받아 만들 수 있습니다.