recurse through throwables