[
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)