Menu
Coddy logo textTech

사용자 정의 예외 생성하기

Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 56번째.

PHP의 내장 Exception 클래스는 일반적인 오류 처리에 잘 작동하지만, 사용자 정의 예외 클래스를 직접 만들면 훨씬 더 구체적이고 의미 있는 오류 메시지를 제공할 수 있습니다. 사용자 정의 예외를 사용하면 코드의 다양한 문제 유형을 구분하고 적절하게 처리하는 데 도움이 됩니다.

사용자 정의 예외를 만들려면 extends 키워드를 사용하여 PHP의 기본 Exception 클래스를 확장합니다. 이러한 상속을 통해 사용자 정의 예외는 표준 예외의 모든 기능을 갖게 되며, 동시에 고유한 특정 동작을 추가하거나 단순히 더 설명적인 이름을 제공할 수 있습니다.

<?php
class InvalidEmailException extends Exception {
    // 클래스는 비어 있을 수 있습니다 - Exception으로부터 모든 것을 상속받습니다
}

// 사용자 정의 속성이나 메서드를 추가할 수도 있습니다
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

사용자 정의 예외의 강력함은 설명적인 이름과 특정 예외 유형을 포착하는 능력에 있습니다. 일반적인 Exception을 포착하는 대신, InvalidEmailException, DatabaseConnectionException 또는 직접 만든 다른 사용자 정의 예외를 포착할 수 있습니다. 이를 통해 오류 처리가 더 정밀해지고 코드의 유지보수성이 향상됩니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

challenge icon

챌린지

쉬움

하나의 입력을 받게 됩니다: 예외 클래스 이름을 나타내는 문자열입니다. 이 입력은 사용자 정의 예외 클래스의 이름으로 사용될 단일 단어입니다 (예: NegativeBalanceException 또는 InvalidUsernameException).

입력을 읽고 제공된 이름을 사용하여 사용자 정의 예외 클래스를 생성하세요. 사용자 정의 예외 클래스는 PHP의 기본 Exception 클래스를 상속(extend)해야 합니다. 클래스를 생성한 후, "Custom exception created: "와 입력받은 클래스 이름을 이어서 출력하세요.

입력 형식: 예외 클래스 이름을 나타내는 문자열이 포함된 한 줄 (예: InvalidAgeException)

예상 출력: Custom exception created: 뒤에 예외 클래스 이름이 옵니다.

치트 시트

PHP에서 사용자 정의 예외를 만들려면 extends 키워드를 사용하여 기본 Exception 클래스를 확장합니다:

<?php
class InvalidEmailException extends Exception {
    // 클래스는 비어 있을 수 있습니다 - Exception으로부터 모든 것을 상속받습니다
}

// 사용자 정의 속성이나 메서드를 추가할 수도 있습니다
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

사용자 정의 예외는 더 구체적이고 의미 있는 오류 메시지를 제공하며, 일반적인 Exception 객체 대신 특정 예외 유형을 포착할 수 있게 해줍니다. 이를 통해 오류 처리가 더 정밀해지고 코드 유지보수가 쉬워집니다.

직접 해보기

<?php
// 예외 클래스 이름을 읽습니다
$className = trim(fgets(STDIN));

// TODO: 아래에 사용자 정의 예외 클래스를 생성하는 코드를 작성하세요


// 결과 출력
echo "Custom exception created: " . $className;
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨