RFR: 5050783: Throwable convenience method: String getStackTraceString()
Claes Redestad
claes.redestad at oracle.com
Wed Dec 31 13:32:27 UTC 2014
Hi,
seems like a reasonable convenience method. :-)
Process stuff: OCA/JSPA signing aside, the patch needs to be submitted
in its
entirety to some part of the OpenJDK infrastructure before it can be
accepted.
Attaching the patch in an e-mail to this mailing list is acceptable for
a small
patch like this when lacking upload privileges to cr.openjdk.java.net. A
sponsor
could help you with the uploading etc.
This request adds a new public method, which means some internal approval
will be necessary. This is something you'll need help with from an Oracle
sponsor. I could volunteer to initiate the requests internally.
Code feedback:
The test relies on the message generated when provoking a division by
zero. I'm not sure this is a good idea nor the place to enforce this
message format with a test. Perhaps just throwing a RuntimeException
with some specified message and test for that?
May I suggest to also add a test to ensure the method behaves well for an
exception with fillInStackTrace overridden to produce stackless exceptions?
Just a thought... I noticed PrintWriter, PrintStream and StringBuilder all
inherit from Appendable, so the PrintStreamOrWriter/StackTracePrinter
classes
could be replaced with a single StackTraceAppendable taking an
Appendable. One
static class instead of 1 abstract and 3 concrete static inner classes
could work
out to be a good deal, but there's some odd mechanics in
BufferedWriter/PrintWriter
to use the value of the line.separator property at object creation time
which
would be hard to support without exposing the lineSeparator fields to
Throwable.
Perhaps a future consideration.
Performance characteristics might change ever so slightly either way, so it
would be nice with some microbenchmarks to quantify.
/Claes
On 2014-12-31 11:51, Ivan St. Ivanov wrote:
> Hello,
>
> I am Ivan from the Bulgarian Java User Group. As part of our Adopt OpenJDK
> efforts, we organized hackathon beginning of this month in Sofia. There we
> worked on the following JIRA issue:
>
> https://bugs.openjdk.java.net/browse/JDK-5050783
>
> Unfortunately none of us has author privileges, so the issue is still
> unassigned. But, nevertheless, our JUG has already signed JSPA and some of
> our members (including myself) have signed OCA. And we informed in a
> special email this mailing list about our plans prior to the meeting.
>
> Our hackathon was already documented by our JUG member Mihail Stoynov:
>
> http://mihail.stoynov.com/2014/12/12/building-openjdk-and-submitting-a-solution-on-a-feature-request-with-the-bulgarian-java-user-group/
>
> We used the days after the meeting for offline polishing our contribution
> and adding some more unit tests. Here is the result of our work:
>
> http://dmitryalexandrov.net/~bgjug/5050783/webrev.00/
>
> We would be very happy if you are able to review it, share your feedback
> and guide us through the contribution process as this is our first attempt.
>
> Thanks and have a very successful year!
> Ivan
More information about the core-libs-dev
mailing list