PHP 기본 문법 – 예외 처리 – 3 – 사용자 정의 예외 처리

PHP 기본 문법 - 예외 처리 - 3 - 사용자 정의 예외 처리
PHP 기본 문법 – 예외 처리 – 3 – 사용자 정의 예외 처리

PHP 기본 문법 – 예외 처리 – 3 – 사용자 정의 예외 처리

소제목: 사용자 정의 예외 클래스 작성하기

예외 처리는 프로그래밍에서 중요한 부분입니다. 이전 글에서는 PHP의 예외 처리에 대해 간단히 알아보았습니다. 이번에는 좀 더 심화된 주제인 “사용자 정의 예외 처리”에 대해 알아보겠습니다. 사용자 정의 예외 처리란, 개발자가 직접 예외 클래스를 작성하여 특정 상황에서 예외를 발생시키고 처리하는 것을 말합니다.

PHP에서 사용자 정의 예외 처리를 하기 위해서는 예외 클래스를 작성해야 합니다. 이 클래스는 PHP 내장 예외 클래스인 Exception 클래스를 상속받아야 합니다. 예외 클래스를 작성하는 방법을 예시와 함께 살펴보도록 하겠습니다.

class CustomException extends Exception {
    public function __construct($message, $code = 0, Throwable $previous = null) {
        parent::__construct($message, $code, $previous);
    }

    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}
";
    }

    public function customFunction() {
        echo "이 예외 클래스의 특정 기능을 수행합니다.";
    }
}

위의 예시 코드에서 CustomExceptionException 클래스를 상속받아 작성한 사용자 정의 예외 클래스입니다. 생성자 메서드(__construct())는 부모 클래스인 Exception의 생성자를 호출하며, 추가적인 기능을 구현할 수도 있습니다. 예외 객체를 문자열로 변환하는 메서드(__toString())는 예외 객체를 출력할 때 사용됩니다. 그리고 customFunction() 메서드는 이 예외 클래스에만 있는 특정 기능을 수행합니다.

이렇게 작성한 사용자 정의 예외 클래스를 사용하여 예외를 발생시킬 수 있습니다. 아래의 예시를 통해 사용 방법을 살펴보겠습니다.

function divide($numerator, $denominator) {
    if ($denominator === 0) {
        throw new CustomException("0으로 나눌 수 없습니다.");
    } else {
        return $numerator / $denominator;
    }
}

try {
    echo divide(10, 0);
} catch (CustomException $e) {
    echo "예외 발생: " . $e->getMessage();
    $e->customFunction();
}

위의 예시 코드에서 divide() 함수는 분자와 분모를 입력받아 나눗셈을 수행합니다. 분모가 0인 경우에는 CustomException을 발생시킵니다. try 블록에서 divide() 함수를 호출하고, 예외가 발생하면 catch 블록에서 해당 예외를 처리합니다. 예외 객체를 이용하여 메시지를 출력하고, 사용자 정의 예외 클래스에 있는 customFunction()을 호출할 수도 있습니다.

이제 사용자 정의 예외 처리에 대해 기본적인 개념과 예시를 살펴보았습니다. 사용자 정의 예외 클래스를 작성하고, 해당 예외를 발생시키고 처리하는 방법을 익히셨을 것입니다. 예외 처리를 잘 활용하여 코드의 안정성을 높이고, 예외 상황에 대비하는 훌륭한 프로그래머가 되시기 바랍니다.

주의해야 할 점

  1. 사용자 정의 예외 클래스를 작성할 때는 Exception 클래스를 상속받아야 합니다.
  2. 생성자 메서드를 통해 부모 클래스의 생성자를 호출할 수 있습니다.
  3. __toString() 메서드는 예외 객체를 문자열로 변환하는 역할을 합니다.
  4. 사용자 정의 예외 클래스에 추가적인 기능을 구현할 수 있습니다.
  5. 예외 객체는 throw 키워드를 사용하여 발생시킬 수 있습니다.
  6. try-catch 문을 사용하여 예외를 처리할 수 있습니다.
  7. 예외 객체의 메서드를 호출하여 특정 기능을 수행할 수 있습니다.

이상으로 “PHP 기본 문법 – 예외 처리 – 3 – 사용자 정의 예외 처리”에 대한 내용을 다루었습니다. 사용자 정의 예외 처리를 활용하면 더욱 유연한 예외 처리를 구현할 수 있으며, 코드의 가독성과 유지 보수성을 높일 수 있습니다. 앞으로도 열심히 프로그래밍 언어를 공부하시고, 사용자 정의 예외 처리를 잘 활용하여 훌륭한 개발자가 되시기를 바랍니다. 화이팅!

답글 남기기