I see a few places where this Exception type is thrown, but I don't see any places where it is specifically caught and triggers specialized handling.  None of the constructors, moreover, accept any sort of specialized payload.  I'm not convinced that writing and maintaining this class is compelling.  I bet we'd be great with:  catch (IOException ioe) { throw new RuntimeExceptionOrJdkProvidedSubclass("Specific, helpful message", ioe); }