신뢰할 수있는 소스를 찾을 수 없어 __destruct()
안에 예외가 발생할 수 있습니다.소멸자 메서드에서 예외를 throw
이것은 PHP 문서는
Attempting to throw an exception from a destructor (called in the time of script termination) causes a fatal error.
을 말하는 것입니다하지만 그것
class A
{
public function __destruct()
{
throw new \Exception();
}
}
try {
$a = new A();
} catch(\Exception $x) {
var_dump($x);
}
을 테스트 할 때 사실이 아니다 것으로 보인다. 나는 예외를 던지고 잡는다. 그래서 의사가 왜이 전화 번호를 얻었습니까? 마크 베이커의 대답 후 편집
는 :
실제로 작동예외가 발생하고 소멸자에서 잡힐 수 있습니다. 나는 문서가 왜 그 다음에 있는지 아직도 불확실하다.
소멸자의 모든 예제 코드에서 호출되지 않는; try [unsetting'$ a'] (https://3v4l.org/qYe67) 예외가 발생합니다 –
그렇지 않으면 스크립트가 종료 될 때 예외가 throw됩니다. 하지만 그건 당신의 try/catch –
의 '스크립트 종료시 호출 된'힌트입니다. –