개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.11 20:25

Exception::getPrevious() 메서드 이해 도움이 필요합니다.

목록
  • Perl매니아 14일 전 2025.03.11 20:25
  • 9
    1
저는 Exception 클래스의 getPrevious() 메서드를 공부하고 있습니다. 이 메서드는 이전 예외를 반환하는 것 같지만, 정확한 동작을 이해하지 못하고 있습니다. 예를 들어, Exception A가 B를 throw하고, B가 C를 throw하는 경우, getPrevious() 메서드는 A, B, C 중 어디를 반환하는지 궁금합니다. 이 메서드의 동작을 자세히 설명해주시거나 예제를 통해 이해를 도와주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    Exception 클래스의 getPrevious() 메서드는 예외가 발생하기 전의 예외를 반환합니다. 예를 들어, Exception A가 B를 throw하고, B가 C를 throw하는 경우, getPrevious() 메서드는 A를 반환합니다.

    이유는 getPrevious() 메서드는 예외가 발생하기 전의 예외를 반환하기 때문입니다. 예외가 발생하기 전의 예외는 B가 C를 throw하기 전에 발생한 예외입니다. 따라서, getPrevious() 메서드는 B를 반환하지 않고 A를 반환합니다.

    예제를 통해 이해를 도와드리겠습니다.

    #hostingforum.kr
    php
    
    try {
    
        throw new ExceptionA();
    
    } catch (ExceptionA $e) {
    
        try {
    
            throw new ExceptionB();
    
        } catch (ExceptionB $e) {
    
            try {
    
                throw new ExceptionC();
    
            } catch (ExceptionC $e) {
    
                // 예외가 발생하기 전의 예외를 반환합니다.
    
                echo ExceptionC::getPrevious()->getMessage() . "n"; // ExceptionA
    
            }
    
        }
    
    }
    
    


    위 예제에서, ExceptionC::getPrevious() 메서드는 ExceptionA를 반환합니다.

    2025-03-11 20:26

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,322건 / 220 페이지

검색

게시물 검색