背景:假设我有以下明显不正确的 PHP:
try{
$vtest = '';
print(array_pop($vtest));
}catch(Exception $exx){}
要让它与 array_pop 一起工作,$vtest 显然应该是一个数组,而不是一个字符串。不过,当我运行此代码时,会显示警告。我不希望那样,我只想让代码静默失败。
问题:与其他语言相比,PHP try-catch 有什么特别之处导致它不起作用吗?
免责声明: 仅供参考,在 PHP 中确实有其他方法可以处理这种情况,但这些都是不可取的。这里的目标是避免:
“at-sign”技巧:
$vtest = '';
print(@array_pop($vtest)); // <-- would like to avoid this
类型铸造:
$vtest = '';
$vtest = (array)$vtest;
print(array_pop($vtest));