You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Benson Margulies (JIRA)" <ji...@apache.org> on 2008/04/17 01:55:21 UTC

[jira] Created: (LUCENE-1264) Use of IOException in analysis component method signatures leads to poor error management

Use of IOException in analysis component method signatures leads to poor error management
-----------------------------------------------------------------------------------------

                 Key: LUCENE-1264
                 URL: https://issues.apache.org/jira/browse/LUCENE-1264
             Project: Lucene - Java
          Issue Type: Bug
          Components: Analysis
    Affects Versions: 2.3.1
            Reporter: Benson Margulies


Methods such as 'next' and 'reset' are defined to throw only IOException.

IOException, as one of the older and dustier Java exceptions, lacks a constructor over a 'cause' exception.

So, if a Tokenizer (for example) uses some complex underlying facility that throws arbitrary exceptions, the coder has two bad choices: wrap an IOException around some string derived from the real problem, or throw an unchecked wrapper.

Please consider adding a new checked exception to the signature of these methods  that implements the 'cause' pattern.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Commented: (LUCENE-1264) Use of IOException in analysis component method signatures leads to poor error management

Posted by "Hoss Man (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-1264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589826#action_12589826 ] 

Hoss Man commented on LUCENE-1264:
----------------------------------

while i don't disagree that it would be nice to have some more domain specific checked exceptions in future iterations of the Lucene API, i would like to point out that this comment is irrelevant...

{quote}
IOException, as one of the older and dustier Java exceptions, lacks a constructor over a 'cause' exception.

So, if a Tokenizer (for example) uses some complex underlying facility that throws arbitrary exceptions, the coder has two bad choices: wrap an IOException around some string derived from the real problem, or throw an unchecked wrapper.
{quote}

IOException does not have a constructor that takes a "cause" arg, but like all Exceptions it does support initCause(Throwable cause) as part of the Throwable contract.

{code}
try {
  throw new RuntimeException("foo");
} catch (Exception e) {
  throw (IOException)(new IOException("problem")).initCause(e);
}
{code}

> Use of IOException in analysis component method signatures leads to poor error management
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1264
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1264
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Analysis
>    Affects Versions: 2.3.1
>            Reporter: Benson Margulies
>
> Methods such as 'next' and 'reset' are defined to throw only IOException.
> IOException, as one of the older and dustier Java exceptions, lacks a constructor over a 'cause' exception.
> So, if a Tokenizer (for example) uses some complex underlying facility that throws arbitrary exceptions, the coder has two bad choices: wrap an IOException around some string derived from the real problem, or throw an unchecked wrapper.
> Please consider adding a new checked exception to the signature of these methods  that implements the 'cause' pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


[jira] Updated: (LUCENE-1264) Use of IOException in analysis component method signatures leads to poor error management

Posted by "Gavin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-1264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gavin updated LUCENE-1264:
--------------------------

    Reporter: Benson Margulies  (was: Benson Margulies)

> Use of IOException in analysis component method signatures leads to poor error management
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1264
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1264
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Analysis
>    Affects Versions: 2.3.1
>            Reporter: Benson Margulies
>
> Methods such as 'next' and 'reset' are defined to throw only IOException.
> IOException, as one of the older and dustier Java exceptions, lacks a constructor over a 'cause' exception.
> So, if a Tokenizer (for example) uses some complex underlying facility that throws arbitrary exceptions, the coder has two bad choices: wrap an IOException around some string derived from the real problem, or throw an unchecked wrapper.
> Please consider adding a new checked exception to the signature of these methods  that implements the 'cause' pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org