[jdom-interest] IOExceptions in createDocument() in adapter classes

Elliotte Rusty Harold elharo at metalab.unc.edu
Fri Apr 5 10:26:49 PST 2002

The AbstractDOMAdapter class and the DOMAdapter interface decalre 
createDocument() methods that are decalred to throw a generic Exception:

public org.w3c.dom.Document *createDocument*() throws java.lang.Exception

Wouldn't a JDOMException be more appropriate here?

In the various subclasses many of these methods throw IOException. For 
example, in  CrimsonDOMAdapter:

public org.w3c.dom.Document *createDocument*() throws java.io.IOException

This really makes no sense. Looking at the code the problems it's 
reporting are not an I/O problem of any kind. Typically the problem 
would be a ClassNotFoundException:

    public Document createDocument() throws IOException {
        try {

        } catch (Exception e) {
            throw new IOException(e.getClass().getName() + ": " +

JDOM is converting this to an IOException. I suspect JDOM should either 
let the original exception percolate up or convert it to a 
JDOMException. An IOException here just makes no sense. The other 
adapter classes I've looked at have the same problem.

| Elliotte Rusty Harold | elharo at metalab.unc.edu | Writer/Programmer |
|           The XML Bible, 2nd Edition (IDG Books, 2001)             |
|             http://www.cafeconleche.org/books/bible2/              |
|   http://www.amazon.com/exec/obidos/ISBN=0764547607/cafeaulaitA/   |
|  Read Cafe au Lait for Java News:   http://www.cafeaulait.org/     | 
|  Read Cafe con Leche for XML News:  http://www.cafeconleche.org/   |

More information about the jdom-interest mailing list