Record the exception name in the callback; test the page iterator

Optional but recommended: Consider also implementing Iterable<List<T>> so we can use this in a foreach loop. The iterator() method could just return "this".