[ 
https://issues.apache.org/jira/browse/CASSANDRA-8560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14264442#comment-14264442
 ] 

Robert Stupp commented on CASSANDRA-8560:
-----------------------------------------

Making {{CassandraException}} unchecked (extend {{RuntimeException}}): +1 from 
my side.

> Make CassandraException be an unchecked exception
> -------------------------------------------------
>
>                 Key: CASSANDRA-8560
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8560
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 3.0
>
>
> {{CassandraException}} (which is the base class of our query validation and 
> execution exception, including {{InvalidRequestException}}, 
> {{UnavailableException}}, ...) is a checked exception. Those exceptions are 
> pervasive and are rarely meant to be caught within Cassandra since they are 
> meant for reporting problems to the end user and so I'm not convinced the 
> benefit of checked exceptions outweight the cost of having to put throws 
> everywhere.
> Concretely, the fact that these are checked exception is currently a pain for 
> 2 outstanding tickets:
> * CASSANDRA-8528: as Robert put it, it forces to "touch half of the source 
> files just to add a throws/catch even in code that can never use UDFs"
> * CASSANDRA-8099: the ticket transform some code (in StorageProxy for 
> instance) to iterators, but an iterator can't throw checked exception. In 
> fact, the current WIP patch for that ticket already switch 
> {{CassandraException}} to extend {{RuntimeException}} for that very reason.
> I understand that "checked" vs "unchecked" exceptions is an old debate with 
> proponent of both camp, but I'm pretty sure the costs of checked outweight 
> the cons in that case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to