[
https://issues.apache.org/jira/browse/DIRSERVER-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny updated DIRSERVER-1299:
-----------------------------------------
Fix Version/s: (was: 1.5.5)
2.0.0-RC1
Postponed to 2.0.0-RC1
> Add causes when rethrowing caught exceptions (e.g. in
> org.apache.directory.server.integ.state.NonExistentState)
> ---------------------------------------------------------------------------------------------------------------
>
> Key: DIRSERVER-1299
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1299
> Project: Directory ApacheDS
> Issue Type: Improvement
> Reporter: Aleksander Adamowski
> Fix For: 2.0.0-RC1
>
>
> In general, in many places in the code exceptions are rethrown only with the
> message from the original exception. In tha case of some exceptions, there is
> no message and only the original exception with its stack trace could help
> track down the problem.
> I've been bitten by this when using
> org.apache.directory.server.integ.state.NonExistentState:
> javax.naming.NamingException
> at
> org.apache.directory.server.integ.state.NonExistentState.create(NonExistentState.java:86)
> at
> org.apache.directory.server.integ.state.NonExistentState.test(NonExistentState.java:180)
> at
> org.apache.directory.server.integ.state.TestServerContext.test(TestServerContext.java:187)
> at
> org.apache.directory.server.integ.SiRunner.invokeTestMethod(SiRunner.java:103)
> at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at org.apache.directory.server.integ.SiRunner.run(SiRunner.java:77)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> As can be seen in NonExistentState.java:86 the exception that is thrown is
> not initialized with its cause exception (I suspect that it was a
> NullPointerException):
> catch ( Exception e )
> {
> throw new NamingException( e.getMessage() );
> }
> I believe this should be written like this:
> catch ( Exception e )
> {
> NamingException rethrownEx = new NamingException( e.getMessage()
> );
> rethrownEx.setRootCause(e);
> throw rethrownEx ;
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.