throw 명령어

명령어 throw는 PHP에서 명시적으로 예외를 발생시키는 데 사용됩니다. 이 명령어는 기본 클래스 Exception에서 상속된 클래스의 인스턴스여야 하는 예외 객체라는 하나의 매개변수를 받습니다. 이 함수가 호출되면 현재 코드의 실행이 즉시 중단되고 PHP는 예외를 처리할 수 있는 해당 catch 블록을 찾으려고 시도합니다.

구문

phpthrow new ExceptionClass(message, code, previous);

예제

예외 발생의 간단한 예:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('나이는 음수일 수 없습니다');
  }
?>

코드 실행 결과:

phpFatal error: Uncaught Exception: 나이는 음수일 수 없습니다

예제

예외 처리와 함께하는 예제:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('0으로 나누기');
    }
  } catch (Exception $e) {
    echo '오류: ' . $e->getMessage();
  }
?>

코드 실행 결과:

php'오류: 0으로 나누기'

예제

사용자 정의 예외 사용:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('사용자 정의 오류 메시지');
  } catch (MyCustomException $e) {
    echo '사용자 정의 오류가 잡혔습니다: ' . $e->getMessage();
  }
?>

코드 실행 결과:

php'사용자 정의 오류가 잡혔습니다: 사용자 정의 오류 메시지'

함께 보기

  • 예외 처리를 위한 코드 블록을 정의하는 try 구문,
  • 예외를 포착하고 처리하는 catch 구문,
  • 모든 예외의 기본 클래스인 Exception 클래스,