PHP try-catch块:他们能够捕获无效的arg类型吗?
发布时间:2020-12-13 14:03:55 所属栏目:PHP教程 来源:网络整理
导读:背景:假设我有以下明显不正确的 PHP: try{ $vtest = ''; print(array_pop($vtest)); }catch(Exception $exx){} 为了使用array_pop,$vtest应该显然是一个数组,而不是字符串.然而,当我运行这个代码时,会显示警告.我不想要,我只是希望代码默默地失败. 问题:
背景:假设我有以下明显不正确的
PHP:
try{ $vtest = ''; print(array_pop($vtest)); }catch(Exception $exx){} 为了使用array_pop,$vtest应该显然是一个数组,而不是字符串.然而,当我运行这个代码时,会显示警告.我不想要,我只是希望代码默默地失败. 问题:与其他语言相比,PHP try-catch有什么特别之处吗? 免责声明: “at-sign”技巧: $vtest = ''; print(@array_pop($vtest)); // <-- would like to avoid this 类型铸造: $vtest = ''; $vtest = (array)$vtest; print(array_pop($vtest));
在PHP中,警告和通知不是技术上的例外.要捕获异常,必须明确抛出异常,并且许多内置的函数库不会抛出异常(主要是因为它们是在PHP支持的异常之前编写的).
如果某些异常是建立在现有的通知/警告/错误框架之上的,那么这可能是很好的,但也许是要求太多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |