[jdom-interest] NoSuch*Exceptions in JDOM
Petri Wessman
orava at termiitti.akumiitti.fi
Mon Jul 10 10:18:35 PDT 2000
On Mon, 10 Jul 2000 12:02:45 -0500, philip.nelson at omniresources.com said:
>> I see the problem in your test case: you're testing for a child which
>> exists in the XML. In this case the difference between the methods is
>> non-existent (as your test proves).
>>
>> Declaring that something throws exceptions is not expensive. Actually
>> throwing the exceptions is.
philip> Ah, I see now why this is an issue for you. I was thinking of
philip> the null test for a situation that occured infrequently. I
philip> have little doubt that if exceptions are regularly thrown,
philip> they would incur a performance hit. I never pay much
philip> attention to performance with exceptions because they should
philip> not be frequently thrown.
Yup, and I agree with that. The problem (and this discussion) is about
the fact that the current JDOM *requires* you generate exceptions when
dealing with XML that has optional elements and/or attributes (which
covers probably 80% of all XML :).
philip> In one of my first applications to use JDOM, I didn't want to
philip> throw exceptions for missing attributes AND I wanted to use
philip> the same code for documents that may or may not supply all the
philip> attributes. I was able to structure the code so that
philip> accessing the "optional" attributes was defered until I really
philip> needed them, and so that I didn't ever have to access them
philip> unless they were there. But that was just one app. In my case
philip> I simply add missing attributes. How's that for a performace
philip> hit?
Sure you can hack around the current JDOM problem (for example, get a
List of the attributes and scan through them), but it's clumsy,
wastefull and verbose. I would like to not have to resort to hacks in
order to get a normal "base" XML operation done. ;}
...
philip> methods. I DO NOT want to change the current methods. I think
philip> there are clearly cases where exceptions should be thrown and
philip> java doesn't give use the option of turning off an exception.
philip> This way we get something that everyone can use and Brett's
philip> book is still valid, not a bad thing if this api takes off
philip> like it appears to be taking off.
Yup, I agree. I'm not advocating changing the current "base" access
methods, since they are already in use and in Brett's (very good!)
book. I would merely like to see some alternative access methods for
elements and attributes that would allow processing them without
exceptions. Best of both worlds, and all that.
//Petri
More information about the jdom-interest
mailing list