hasNext suffered from the same bad exception logic