라이브러리

[PHP] Error::getPrevious - 이전 Throwable을 반환합니다.




Error::getPrevious


PHP 에서 `Error` 클래스는 예외를 처리하는 데 사용됩니다. `Error` 클래스의 `getPrevious` 메서드는 이전 예외를 반환합니다. 이전 예외는 예외가 발생하기 전에 발생한 예외를 말합니다.

# 예제


#hostingforum.kr
php

try {

    $a = 1 / 0;

} catch (Error $e) {

    echo "오류 발생: " . $e->getMessage() . "
";

    $previous = $e->getPrevious();

    if ($previous !== null) {

        echo "이전 오류: " . $previous->getMessage() . "
";

    }

}



위 예제에서 `$a = 1 / 0` 문은 오류를 발생시킵니다. 오류 메시지는 "Division by zero" 입니다. `$e->getPrevious()` 메서드는 이전 예외를 반환하지 않습니다. 왜냐하면 `$a = 1 / 0` 문은 오류를 발생시키기 때문에 이전 예외가 없습니다.

# 예제 2


#hostingforum.kr
php

try {

    $b = 1 / 0;

    try {

        $c = 1 / 0;

    } catch (Error $e) {

        throw $e;

    }

} catch (Error $e) {

    echo "오류 발생: " . $e->getMessage() . "
";

    $previous = $e->getPrevious();

    if ($previous !== null) {

        echo "이전 오류: " . $previous->getMessage() . "
";

    }

}



위 예제에서 `$b = 1 / 0` 문은 오류를 발생시키고, `$c = 1 / 0` 문도 오류를 발생시킵니다. `$e->getPrevious()` 메서드는 이전 예외를 반환합니다. 이전 예외는 `$c = 1 / 0` 문에서 발생한 오류입니다.

# 예제 3


#hostingforum.kr
php

try {

    $d = 1 / 0;

} catch (Error $e) {

    echo "오류 발생: " . $e->getMessage() . "
";

    $previous = $e->getPrevious();

    if ($previous !== null) {

        echo "이전 오류: " . $previous->getMessage() . "
";

    }

} catch (Exception $e) {

    echo "예외 발생: " . $e->getMessage() . "
";

}



위 예제에서 `$d = 1 / 0` 문은 오류를 발생시키고, `catch (Exception $e)` 블록은 예외를 처리합니다. `$e->getPrevious()` 메서드는 이전 예외를 반환하지 않습니다. 왜냐하면 `$d = 1 / 0` 문은 오류를 발생시키기 때문에 이전 예외가 없습니다.

# 결론


`Error::getPrevious` 메서드는 이전 예외를 반환합니다. 이전 예외는 예외가 발생하기 전에 발생한 예외를 말합니다. `$e->getPrevious()` 메서드는 이전 예외를 반환하지 않습니다. 왜냐하면 예외가 발생하기 전에 발생한 예외가 없을 수 있기 때문입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 586 페이지

검색

게시물 검색