-1

"Might raise other things" isn't really a valid argument, in Python 2.x you can still raise things that aren't subclasses of `Exception`.  So this still only catches a subset of exceptions which could possibly be raised from an arbitrary piece of third party code.  Meanwhile the existing test case sufficiently enumerates the expected failure conditions that you can empirically determine the probable raised exceptions by _this_ 3rd party code.

If the code being used does not sufficiently well documented/implemented to have a consistent contract with the caller then perhaps we should be using some other code.

 At the very least you should file a bug against croniter and reference it from a comment in this code.