I don't understand how the fact that it's a user-defined exception throws a wrench into the works. It's exactly the same. If want to override a method, you can't declare that your overridden version throws any exception types that are not assignable to one of the exception types declared to be thrown by the original method's definition. If you want to extend one of the exception types thrown by the original method (make a specific subclass of IOException for example), you can do that and throw one of those types.
James Carman, President<br />Carman Consulting, Inc.