throw 명령어
명령어 throw는 PHP에서 명시적으로 예외를 발생시키는 데 사용됩니다.
이 명령어는 기본 클래스 Exception에서 상속된 클래스의 인스턴스여야 하는 예외 객체라는 하나의 매개변수를 받습니다.
이 함수가 호출되면 현재 코드의 실행이 즉시 중단되고 PHP는 예외를 처리할 수 있는 해당 catch 블록을 찾으려고 시도합니다.
구문
throw new ExceptionClass(message, code, previous);
예제
예외 발생의 간단한 예:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('나이는 음수일 수 없습니다');
}
?>
코드 실행 결과:
Fatal error: Uncaught Exception: 나이는 음수일 수 없습니다
예제
예외 처리와 함께하는 예제:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('0으로 나누기');
}
} catch (Exception $e) {
echo '오류: ' . $e->getMessage();
}
?>
코드 실행 결과:
'오류: 0으로 나누기'
예제
사용자 정의 예외 사용:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('사용자 정의 오류 메시지');
} catch (MyCustomException $e) {
echo '사용자 정의 오류가 잡혔습니다: ' . $e->getMessage();
}
?>
코드 실행 결과:
'사용자 정의 오류가 잡혔습니다: 사용자 정의 오류 메시지'