Redirects all methods to the delegate {@link Throwable}.
This class is useful if you want to throw a non- {@link RuntimeException}-derived Exception, but cannot declare it in the "throws" clause of your method, because your method overrides a method of a base class. The classical example is {@link ClassLoader#findClass(String)}, which allows only {@link ClassNotFoundException} to be thrown, but you want to implement a moreelaborate exception handling.
To make clear which exceptions wrapped in {@link TunnelException} your method would throw, itis recommended that you declare them with a "throws
{@link TunnelException}" clause and that you document them in JAVADOC with @throws
clauses like this:
/ * ... * @throws TunnelException Wraps a {@link FooException} - Problems writing a Foo * @throws TunnelException Wraps a {@link BarException} - The Bar could not be opened */