异常使用iterator_to_array()
在MongoCursor
实例可以抛出一个异常,在PHP 5.3?换句话说,我是否需要在try-catch语句中将实例的iterator_to_array()
调用包装起来?PHP:可以iterator_to_array()抛出一个MongoCursor
例如,
$mongo = new Mongo();
$mongo_db = $mongo['my_database'];
$mongo_coll = $mongo_db['my_collection'];
// This
$cursor = $mongo_coll->find();
$documents = iterator_to_array($cursor);
// Versus this.
$cursor = $mongo_coll->find();
try {
$documents = iterator_to_array($cursor);
} catch (Exception $e) {
//...
}
不相信你在php.net的评论中阅读的所有内容。实际上,$ cursor-> valid()会使AWLAYS在创建游标后立即返回FALSE,因为实际的事情只发生在你第一次调用next()时(这就是rewind()基本上这么做)。 – pingw33n 2011-03-18 19:45:41
这个答案错了,但为什么它被接受为正确的? – andho 2011-03-21 12:25:12
好吧,我得到它,'$ cursor'只会在调用'$ cursor-> next()'后调用迭代对象,而且调用'$ cursor-> rewind()'时,这就是OP欲望。 – andho 2011-03-21 12:27:15