这应该可以。请告诉我我做错了什么。
这是代码:
<?php
try {
echo "start";
throw new Exception("test");
for ($index=0; $index < 1; $index++) {
echo "loop";
}
} catch ( Exception $e ){
echo "caught $e";
}
?>
我遇到了一个未捕获的异常,如果我将 throw 移到循环内它可以正常工作,但这违背了我的目的。我可以破解单独的 try/catch 块,但那是 hackish。
我已经在 5.2.13 和 5.2.17 服务器上尝试过。目前的生产是 5.2.17,不,我没有在 5.3.8 上测试它,因为我必须和我的主机一起升级,并重新测试很多代码。
有爱吗?
PS我确实知道异常和未捕获异常之间的区别。但结果如下:
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