Don't do this. Check to see if `$params` is `Traversable`, and only then do the `iteratorToArray()` call. This will eliminate the need for the catch and re-throw.