현재 위치: > 최신 기사 목록> PHP 예외 처리를위한 실용적인 기술 : 예외를 잡고, 던지기, 커스터마이징하는 방법을 마스터

PHP 예외 처리를위한 실용적인 기술 : 예외를 잡고, 던지기, 커스터마이징하는 방법을 마스터

M66 2025-06-11

기본 PHP 예외 처리 소개

PHP 개발에서 예외 오류 (예외)가 일반적인 문제입니다. 예외를 합리적으로 처리하면 프로그램 충돌을 방지 할뿐만 아니라 코드 운영의 안정성과 보안도 보장 할 수 있습니다. 예외는 프로그램에서 기대치를 충족하지 않는 이벤트, 일반적으로 오류 정보, 오류 코드 및 예외 유형을 포함합니다. 예외 처리 메커니즘을 통해 이러한 오류를 포착하고 처리하여보다 강력한 프로그램을 가능하게 할 수 있습니다.

PHP 예외 처리의 기본 구문

PHP는 예외를 처리하기위한 시도 캐치-패치 구조를 제공합니다. 시도 블록에 오류가 발생할 수있는 코드를 넣고 캐치 블록에 예외를 제외하는 코드를 넣으십시오. 최종 블록의 코드는 예외가 발생하는지 여부에 관계없이 실행됩니다. 일반적으로 리소스 릴리스와 같은 작업에 사용됩니다.

노력하다 {
    // 예외 $ 결과를 트리거 할 수있는 코드 = 1 / 0;
} catch (예외 $ e) {
    // 예외를 잡고 처리합니다. Echo "Catch Exception :". $ e-> getMessage ();
} 마지막으로 {
    // echo "최종 블록"은 예외가 존재하지 않는지 여부에 관계없이 실행됩니다.
}

위의 예에서와 같이 0으로 나누면 예외가 발생하면 캐치 블록이 예외 정보를 캡처하고 출력하며 최종적 블록은 예외가 발생하는지 여부에 관계없이 특정 코드가 실행되도록합니다.

사용자 정의 예외 클래스 응용 프로그램

PHP의 내장 예외 클래스 외에도 자체 예외 클래스를 정의하여 자세한 오류 정보와 사용자 정의 된 예외 처리 방법을 제공 할 수 있습니다. 사용자 정의 예외 클래스는 예외에서 상속되어 추가 속성 및 메소드를 추가 할 수 있습니다.

customexception customexception 클래스 Exception {
    public function __construct ($ message, $ code = 0, trashable $ previous = null) {
        Parent :: __ Construct ($ 메시지, $ Code, $ previous);
    }

    공개 함수 __toString () {
        __class__를 반환합니다. ": [{$ this-> code}] : {$ this-> message} \ n";
    }

    공개 기능 customfunction () {
        Echo "예외 처리를위한 사용자 정의 기능";
    }
}

노력하다 {
    새로운 customexception을 던지십시오 ( "이것은 사용자 정의 예외");
} catch (customexception $ e) {
    echo $ e;
    $ e-> customfunction ();
} catch (예외 $ e) {
    에코 "예외 :". $ e-> getMessage ();
} 마지막으로 {
    에코 "마침내 블록";
}

customexception 클래스는 예에서 정의됩니다. 캡처 후 사용자 정의 방법을 호출하여 예외를 처리하고 찾을 수 있습니다.

예외 던지기 및 통과

개발 과정에서 일반적인 요구 사항은 기능 내 예외 및 후 처리의 논리 중 일부를 포착 한 다음 통합 처리를 위해 상부 발신자에게 예외를 다시 제외하는 것입니다.

함수 foo () {
    노력하다 {
        // 예외를 트리거 할 수있는 코드는 새 예외를 던지기 ( "FOO 함수의 예외");
    } catch (예외 $ e) {
        에코 "예외 :". $ e-> getMessage ();
        // 상단 발신자 Throw $ E에 예외를 던지십시오.
    }
}

노력하다 {
    foo ();
} catch (예외 $ e) {
    Echo "캐치 블록에서 예외 :". $ e-> getMessage ();
}

FOO는 FOO가 예외를 포착하고 처리하고 예외를 상단 계층에 던지고 마침내 통화에서 예외를 잡고 처리합니다.

요약

예외 처리는 PHP 개발에서 프로그램의 안정적인 운영을 보장하는 핵심 기술입니다. Try-Catch-Pinally 구조, 사용자 정의 예외 클래스 및 예외 던지기 및 전달 방법을 마스터하면 강력하고 유지 관리 가능한 코드를 작성하는 데 도움이 될 수 있습니다. 이 기사에 소개 된 PHP 예외 처리 기술이 개발 작업에 도움이되기를 바랍니다.