--- Juozas Baliuka <[EMAIL PROTECTED]> wrote:
> Ok,
> next example with  checked exception in client code:
> 
> void register(MyObject value)throws MyException{
> try{
>   Connection connection = getConnection();// Doe's it throws
> SQLException
> too ?
>  try{
>           updateOrInsert(connection,value);
>           log.info(" registred " + value.getId() );
>  }finally{
> 
>        connection.close(); // Doe's the caller better know how to handle
> SQLException wrapped as MyException ?

In many cases that a database operation fails the next layer just cares
that it gets notified of the failure and logs it (you could also have
subclasses of MyException that indicate more specific failure types). 
MyException is allowing other layers to be independent of the persistence
implementation exceptions like SQLException.

The commons-sandbox-mapper project provides this exact functionality.

David

> 
> }
> }catch(SQLException e){
>      throw new MyException(e);
> }// LoggingException is a runtime exeption in this case
> 
> }
> 
> 
> ----- Original Message -----
> From: "David Graham" <[EMAIL PROTECTED]>
> To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>
> Sent: Wednesday, June 25, 2003 4:58 PM
> Subject: Re: Checked vs Runtime exceptions
> 
> 
> > --- Ryan Hoegg <[EMAIL PROTECTED]> wrote:
> > > This may be the "correct solution" in some of your eyes, but it is
> far
> > > too much overhead for most programmers who want to use logging.  If
> my
> > > database server is down or the logging directory can not be found
> when I
> > >
> > > want to log something, my application code is not the right place to
> > > handle that.MyMethodUsesLogging has no business handling those
> > > exceptional cases.  I think a RuntimeException is most appropriate
> here.
> > >
> >
> > Logging was merely an example (probably a poor one).  I don't want to
> > handle exceptions from my logging package but I wouldn't want it to
> throw
> > RuntimeExceptions either (unless I've misused the API).
> >
> > David
> >
> > > Juozas Baliuka wrote:
> > >
> > > > I think this logging example was a good one:
> > > >
> > > > void MyMethodUsesLogging()throws MyException{
> > > >  try{
> > > >
> > > >   log.info("started");
> > > >
> > > > }catch(LoggingException e){
> > > >
> > > >   log.error(e); // ??????????????????
> > > >
> > > >   throw new MyExeption(e);
> > > > }
> > > >
> > > >
> > > >}
> > > >
> > > >
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > SBC Yahoo! DSL - Now only $29.95 per month!
> > http://sbc.yahoo.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.491 / Virus Database: 290 - Release Date: 2003.06.21
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to