라이브러리
[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()` 메서드는 이전 예외를 반환하지 않습니다. 왜냐하면 예외가 발생하기 전에 발생한 예외가 없을 수 있기 때문입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.