[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX/Java Proposed Changes
At 8:18 AM +0100 3/10/04, Jochen Wiedmann wrote: >Not quite like the paradigm of exception handling (catch the >exception in one place). Throw is different from catch. If you throw a SAXException, then you're not handling it in that method, which is why you're throwing it; but you do make the decision of how to configure the object before throwing the exception. IN many cases you may not need to do any cleanup at all and can leave the object in an invalid state. You know whether or not you have to clean up, and what needs to be cleaned up because you've chosen to throw the exception. This is the qualitative difference from an exception the parser throws due to bad input. >But besides: Who tells you, that *I* >am throwing the Exception and not, for example, another ContentHandler >which I invoke? > If the other ContentHandler method is declared to throw a SAXException (the only checked exception it can throw) and you need to do cleanup, catch it and respond to it and then rethrow it. You still know where and when the exception can be thrown, which you do not know for a parser thrown exception. By the way, although most of the time you can catch an exception in one place, that's not a rule written in stone. It does happen in more complicated situations that one catch block has to clean up in one method and then throw the same or a different exception up to another method, often in a different class. One of the benefits of the exception approach compared to traditional error handling is the easy reversal of the call chain, thus making complicated, multilayered responses possible. -- Elliotte Rusty Harold elharo@m... Effective XML (Addison-Wesley, 2003) http://www.cafeconleche.org/books/effectivexml http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|