Hey Alfons, your code looks very similar to what I've had to do in the past, using getMembers and forEach to iterate over the tuples. I agree this seems to be unnecessarily complex, and prone to throwing warning/error messages. I'd also love to trap exceptions with a try{ ... } catch but alas, nothing like this exists in BIAL.
I've been meaning to write a true "row" iterator to make this easier, as iterating over tuple selections/getData is a tad silly. I could make this iterator using SDK if that would be an acceptable workaround for you?