[jboss-jira] [JBoss JIRA] (LOGTOOL-101) Exception transformation

David Lloyd (JIRA) issues at jboss.org
Fri Apr 1 10:15:01 EDT 2016


David Lloyd created LOGTOOL-101:
-----------------------------------

             Summary: Exception transformation
                 Key: LOGTOOL-101
                 URL: https://issues.jboss.org/browse/LOGTOOL-101
             Project: Log Tool
          Issue Type: Feature Request
            Reporter: David Lloyd
            Assignee: James Perkins


I'd like to be able to transform an exception message.  What this means is, create a new exception, embed its message in my message, and copy its stack trace to mine.

Something like this:

{code}
@Message(id = 1234, "Binding to %s failed")
IOException bindFailed(SocketAddress bindAddress, @TransformException IOException cause)
{code}

This would yield a message like: "Binding to 1.2.3.4/1234 failed: Address already in use". Note the addition of the ": " and the source string.

Note that I can almost do this now, except that there's no way to copy the exception stack:

{code}
@Message(id = 1234, "Binding to %s failed: %s")
IOException bindFailed(SocketAddress bindAddress, IOException cause)
{code}

An alternative approach is to add an annotation for copying the stack trace:

{code}
@Message(id = 1234, "Binding to %s failed")
IOException bindFailed(SocketAddress bindAddress, @CopyStackFrom IOException cause)
{code}

Note that in this case the original exception message is lost.  The next variant would preserve the message:

{code}
@Message(id = 1234, "Binding to %s failed: %s")
IOException bindFailed(SocketAddress bindAddress, IOException cause, @CopyStackFrom IOException cause2)
{code}

And now to eliminate the duplication:

{code}
@Message(id = 1234, "Binding to %s failed: %s")
IOException bindFailed(SocketAddress bindAddress, @CopyStackFrom @Pos(2) IOException cause)
{code}

Note that I don't recall if @Pos is 1- or 0-based, so I guessed.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list