Wraps a throwable in a runtime exception to allow it to be rethrown, even when it has not been declared.
This class is provided in JDK1.3 but as we need to compile it on JDK1.2 we need to provide our own implementation.
This should not be used to circumvent having to declare the exceptions which are thrown by a method but is available to use in those situations when an exception cannot / should not occur and you don't want to have to expose those internal exceptions to the user, e.g. extending Object.clone on an object which implements the Cloneable interface should not result in a CloneNotSupportedException but it is safer to wrap it in this exception than to simply ignore it.
@deprecated Use standard exception now.