[jdom-commits] CVS update: jdom/src/java/org/jdom/transform

cvs at jools.org cvs at jools.org
Wed Apr 10 23:19:10 PDT 2002

Date:	Thursday April 11, 2002 @ 2:19
Author:	cvs

Update of /home/cvspublic/jdom/src/java/org/jdom/transform
In directory jools.org:/tmp/cvs-serv5494/src/java/org/jdom/transform

Modified Files:
Log Message:
Patch from elharo to improve how builders handle exceptions.  

Warning: There's a lot of code that will need to change because of 
this.  It's an easy change though.  Builder calls are now going 
to need to catch IOException.

In his words:

I've attached patches for the four classes affected by the decision to 
allow build() to throw IOException. I've made separate patch files for 
each of the classes because my last mega-patch had troubles being 
applied. The four files are:


All the tests that ran before still run after these four patches are 
applied. This is going to affect a lot of client code, but in my initial 
tests not as much as I originally expected.

The basic idea of these patches is to rationalize the excepiton 
throwing. This patch does several things:

1. Allows IOExceptions to propagate unchanged from the builder.
2. Converts all SAXExceptions to JDOMExceptions
3. Removes a number of "throws Exception" and "throws IOException" 
clauses where no exception was being thrown.
4. Changes some "throws Exception" and "throws IOException" clauses to 
"throws JDOMException"
5. Allows unexpected runtime exceptions (e.g. NullPointerException) to 
propagate unchanged.

I think this makes sense. The basic idea is that SAXBuilder should throw 
an IOException for an I/O error, a JDOMException for an XML problem, and 
that unexpected runtime exceptions should not be hidden. I fully expect 
that this will break existing code, but the sooner we do it the less 
pain it will cause. As always more testing is appreciated.

I also updated the Count sample which needed to catch IOException.


File: no file JDOMResult.java		Status: Needs Checkout

   Working revision:	1.6	Thu Apr 11 06:19:10 2002
   Repository revision:	1.6	/home/cvspublic/jdom/src/java/org/jdom/transform/JDOMResult.java,v

   Existing Tags:
	jdom_1_0_b8              	(revision: 1.5)
	jdom_1_0_b8_rc1          	(revision: 1.5)
	jdom_prefilter           	(revision: 1.4)
	jdom_1_0_b7              	(revision: 1.4)

More information about the jdom-commits mailing list