이렇게하면 작동합니다. 내가 뭔가 잘못하고 있다고 말해줘. 나는 그것이 잘 작동 루프 내부에 던져 이동,하지만 내 목적을 패배하면,PHP 예외 - throw/catch가 루프에서 작동하지 않습니다.
<?php
try {
echo "start";
throw new Exception("test");
for ($index=0; $index < 1; $index++) {
echo "loop";
}
} catch (Exception $e){
echo "caught $e";
}
?>
내가 캐치되지 않는 예외를 받고 있어요 :
여기에 코드입니다. 별도의 try/catch 블록을 해킹 할 수는 있지만 hackish가 있습니다.
5.2.13 및 5.2.17 서버에서 사용해 보았습니다. 현재 생산량은 5.2.17이며 5.3.8에서 테스트하지 않은 것은 업그레이드 할 호스트와 함께해야하고 많은 코드를 다시 테스트해야하기 때문입니다.
좋아해요?
P. 예외와 캐치되지 않은 예외의 차이점을 알고 있습니다. 하지만 결과는 다음과 같습니다.
start
Fatal error: Uncaught exception 'Exception' with message 'test' in C:\UniServer\www\admin\water_ws\test.php:4 Stack trace: #0 {main} thrown in C:\UniServer\www\admin\water_ws\test.php on line 4
[viper7 (5.2.15RC3-dev)] (http://codepad.viper-7.com/KALRDl) 및 [codepad (5.2.5)] (http://codepad.org)에서 잘 포착 할 것으로 보입니다./WPkjTxnn) ... 여기 뭔가 놀지 않아도 될까요? 잡히지 않은 경우와 비슷한 결과를 보여주는'echo $ e' (Exception을 문자열로 변환) 사실은 도움이되지 않을 수도 있습니다. – cmbuckley
작동하지 않는 방법에 대해 자세히 설명해 주시겠습니까? "루프 테스트"가 아닌 "루프"를 인쇄하고 있습니까? – atxdba
OP는 둘 다 제안하지 않음 (포착되지 않은 예외); 하지만 나는'catch $ e'가'Fatal error : Uncaught $ e'와 많이 닮았다고 생각합니다. – cmbuckley