Women in Technology

Hear us Roar

  Best Practices for Exception Handling
Subject:   Don't wrap exceptions!
Date:   2003-11-27 05:39:31
From:   anonymous2
Response to: Don't wrap exceptions!

"This decision should NEVER be made by any library code because it shifts too much knowledge of a process into the client code; this in term severely limits reusability."

But it should *also* not be done by your business code - business code shouldn't know about SQL at all!

So, what you need is a persistence layer, specific to your application. If that layer decides that the Exception can't be handled reasonably, it's a good thing to wrap the original SqlException into a more generic PersistenceException or something.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Don't wrap exceptions!
    2003-12-01 08:14:43  anonymous2 [View]

    Sorry, but you're missing the point. Whether the business code knows about SQL or not is simply of no concern. Whether it is a SQLException or your "PersistenceException": the business code should not handle any exceptions it knows nothing about. And wrapping it only removed a single layer: if the business code itself is layered also do you wrap all exceptions of the lower layers???

    Wrapping SQLException in something else does not solve anything: you still have to pass the exception around, and have some layer handle it.

    What I'm saying is that IF you have a SQL error that you do not fix in the originating layer you may as well pass it upwards and have topmost layer decide what to do with it: report some critical failure and log the ACTUAL problem instead of logging the wrapper.