commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-1408) Do not use exceptions for control flow
Date Wed, 05 Apr 2017 10:36:42 GMT

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

Gilles commented on MATH-1408:
------------------------------

IMHO the examples given by Bruno are programming errors that should be caught at compile-time.
A quick look at the {{Frequency}} class gives the impression that all the fiddling is to allow
usage of {{int}}, {{Integer}}, {{long}} and {{Long}} as key of the same {{Frequency}} instance.
What is a use-case for {{Comparable<?>}} rather than {{Comparable<T>}} (i.e. have
the class be a bona-fide generic: {{Frequency<T>}}?

> Do not use exceptions for control flow
> --------------------------------------
>
>                 Key: MATH-1408
>                 URL: https://issues.apache.org/jira/browse/MATH-1408
>             Project: Commons Math
>          Issue Type: Task
>            Reporter: Gilles
>            Priority: Minor
>              Labels: control, exception, flow
>             Fix For: 4.0
>
>
> There are several occurrences where exception is used to control flow.
> Code such as
> {noformat}
> try  {
>  // block A
> } catch (ClassCastException e) {
>  // block B
> }
> {noformat}
> where "block A" is trying to cast an object "o" to "SomeClass", should be changed to
> {noformat}
> if (o instanceof SomeClass)  {
>  // block A
> } else {
>  // block B
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message