Can we agree on something here?

My +1 for checked

> -----Original Message-----
> From: Christian Schneider [mailto:cschneider...@gmail.com] On Behalf Of
> Christian Schneider
> Sent: Freitag, 1. Februar 2013 15:14
> To: dev@syncope.apache.org
> Subject: Re: IncompatiblePolicyException was made unchecked
> 
> Sorry about the long explanation that is completely unrelated to this special
> case but I think the discussion checked vs unchecked exceptions is a general
> thing so I write a general reasoning...
> 
> In general checked Exceptions force the user of an API to handle an
> exception at exactly the point where it happens.
> Often thoughit is much easier to let an exception bubble up the stack to a
> general place where exceptions are handled. Checked exceptions also force
> to Map an exception at every layer of an application. The reason is that
> simply throwing exceptions over layer boundaries violates encapsulation.
> 
> So my way of handling checked exceptions is: where they are forced upon
> me by an API I map them to an unchecked Exception as soon as possible to
> limit their effect / damage.
> 
> I have found a nice explanation on this article
> http://www.javacodegeeks.com/2012/03/why-should-you-use-unchecked-
> exceptions.html
> > In his famous book, *Clean code: a handbook of agile software
> > craftsmanship*[3
> >
> <http://books.google.co.in/books/about/Clean_code.html?id=dwSfGQAAC
> AAJ
> > &redir_esc=y>], Robert C. Martin writes the below lines supporting
> > Unchecked Exceptions.
> >
> > /The debate is over. For years Java programmers have debated over the
> > benefits and liabilities //of checked exceptions. When checked
> > exceptions were introduced in the first version //of Java, they seemed
> > like a great idea. The signature of every method would list all of the
> > //exceptions that it could pass to its caller. Moreover, these
> > exceptions were part of the type/ /of the method. Your code literally
> > wouldn't compile if the signature didn't match what your //code could
> > do./ / / /At the time, we thought that checked exceptions were a great
> > idea; and yes, they can //yield some benefit. However, it is clear now
> > that they aren't necessary for the production of //robust software. C#
> > doesn't have checked exceptions, and despite valiant attempts, C++
> > //doesn't either. Neither do Python or Ruby. Yet it is possible to
> > write robust software in all //of these languages. Because that is the
> > case, we have to decide---really---whether checked //exceptions are
> > worth their price./ / /
> 
> Here some more similar articles:
> http://tapestryjava.blogspot.in/2011/05/tragedy-of-checked-
> exceptions.html
> http://blogs.atlassian.com/2011/05/exceptions_are_bad/
> http://misko.hevery.com/2009/09/16/checked-exceptions-i-love-you-but-
> you-have-to-go/
> 
> Christian
> 
> Am 01.02.2013 14:36, schrieb Francesco Chicchiriccò:
> > On 01/02/2013 14:33, Andrei Shakirin wrote:
> >> Hi Francesco,
> >>
> >> I thought it was agreed in [1]. Have seen no objections in [2].
> >
> > You're right about [1] and [2] - only, I have just realized now,
> > working on SYNCOPE-136, that ignoring this exception can be very
> > dangerous during the propagation process. And having it checked helps
> > definitely in this sense.
> >
> >> Do you have reasons to keep this exception checked?
> >
> > Let's put it the other way round: why have it unchecked?
> >
> > Regards.
> >
> >> [1]
> >>
> https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions
> >> [2]
> >> http://syncope-dev.1063484.n5.nabble.com/Exception-propagation-in-
> Res
> >> t-interface-HTTP-header-vs-body-for-details-td5711482.html
> >>
> >>> -----Original Message-----
> >>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
> >>> Sent: Freitag, 1. Februar 2013 14:12
> >>> To: dev@syncope.apache.org
> >>> Subject: IncompatiblePolicyException was made unchecked
> >>>
> >>> Hi all,
> >>> I've just noticed that IncompatiblePolicyException, created checked
> >>> [1] is now unchecked: any reason for this?
> >>>
> >>> [1]
> >>>
> http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/j
> >>> ava
> >>>
> /org/apache/syncope/core/util/IncompatiblePolicyException.java?view=
> >>> mar
> >>> kup&pathrev=1401200
> >
> 
> 
> --
> 
> Christian Schneider
> http://www.liquid-reality.de
> 
> Open Source Architect
> Talend Application Integration Division http://www.talend.com

Reply via email to