Well, if it is expected  to accept nil, then you should not use exception. ( and have something like `return [] unless items` ). If API do not accept nil, then you should let exception survive, as it is programmer fault and it should not be hidden by some error masking ( if items is managed by you, then you should create such rules, like that items are always non-nil. )