Fixed testOnErrorViaHasNext in issue #383
Removed the unnecessary 'catch' and 'fail'
Blocked 'hasNext' instead of 'next' until any notification arrives
Followed the iterator contract
Force 'hasNext' and 'next' throw the error once they have already thrown it before
Merge pull request #433 from zsxwing/issue-383

Fixed testOnErrorViaHasNext in issue #383