我之前从未在我的代码中使用Try-catch,但现在我需要这样做,看起来我并不完全理解它的工作方式。我有一个字符串数据,我开始使用爆炸:在PHP中使用Try-catch结构
$groupNumbers = array();
$str = $dataGroups['groups'];
$groupNumbers = explode(",", $str);
$count = count($groupNumbers);
然后我想检查是否每一个元素是数字,如果是我着手进行数据库查询,否则我要中止行动蚂蚁回报一些错误。
下面是我在做什么:
for ($i = 0; $i < $count; ++$i)
{
try
{
is_numeric($groupNumbers[$i]);
}
catch (Exception $ex)
{
process_exception_to_json($ex);
}
}
如果evrery元素是数字我construc的活动记录做SQL:
$这个 - > DB-> insert_batch(” users_groups',$ datas);
很明显就是这样写的,即使一个元素不是数字,该操作也不会中止,而且insert_batch仍然执行时带有无效的值,这是我想要避免的。做这件事的确切方法是什么,所以我可以得到一个异常,并同时中止行动。 感谢
Leron
把尝试捕获外for循环。理想情况下,你不想依赖try-catch来进行验证。 – Sachin 2012-04-04 08:38:02