[jboss-jira] [JBoss JIRA] (LOGTOOL-134) Incompatible type error with @Cause and ctors with unusual exception types
David Lloyd (JIRA)
issues at jboss.org
Mon Apr 2 13:52:00 EDT 2018
[ https://issues.jboss.org/browse/LOGTOOL-134?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Lloyd updated LOGTOOL-134:
--------------------------------
Workaround Description:
Use the {{Signature}} annotation like this:
{code:java}
@Message(id = 442, value = "Unexpected Error")
@Signature(String.class)
EJBException unexpectedError(@Cause Throwable cause);
{code}
Workaround: Workaround Exists
> Incompatible type error with @Cause and ctors with unusual exception types
> --------------------------------------------------------------------------
>
> Key: LOGTOOL-134
> URL: https://issues.jboss.org/browse/LOGTOOL-134
> Project: Log Tool
> Issue Type: Bug
> Affects Versions: 2.1.0.Final
> Reporter: David Lloyd
> Priority: Minor
>
> Incorrect generated code can be generated if an exception constructor's "cause" parameter is a subtype of {{Throwable}} (say, {{Exception}}) instead of being {{Throwable}} itself, and a {{\@Cause}} parameter exists whose type is a superclass of that type (say, {{Throwable}}).
> The compilation errors can look something like this:
> {noformat}
> 2018-04-02 12:37:40 [ERROR] /home/david/src/java/wildfly/ejb3/target/generated-sources/annotations/org/jboss/as/ejb3/logging/EjbLogger_$logger.java:[3340,112] incompatible types: java.lang.Throwable cannot be converted to java.lang.Exception
> 2018-04-02 12:37:40 [ERROR] /home/david/src/java/wildfly/ejb3/target/generated-sources/annotations/org/jboss/as/ejb3/logging/EjbLogger_$logger.java:[3479,164] incompatible types: java.lang.Error cannot be converted to java.lang.Exception
> {noformat}
> If the {{\@Cause}} method parameter type is not assignable to the exception's cause parameter type, then the {{initCause}} strategy should be used instead.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list