Changes in the Java public API

The base class for the IS exceptions has been changed from the un-checked RuntimeException to the checked Exception. For checked exceptions, one either has to put a try/catch block around the code that could potentially throw the exception, or add a "throws" clause to the method, to indicate that the method might throw this type of exception. That requirement is enforced by the Java compiler which should enforce exception safety of any code using IS API by verifying this at compile time.
Those changes should cause minimal disruption for an existing code, if it already handles all exceptions is a proper way and at the same time it should reveal
places where exception handling is incorrect and requires some fixing.