On 11/23/2015 10:27 AM, Peter Levart wrote:
Sorry for confusion. I now noticed that Throwable.addSuppressed() and getSuppressed() methods are actually synchronized! I don't know how I missed that...
And I don't know how you led me to forget that :-)
So above patch is not needed. Even printing uses getSuppressed() that returns a snapshot. So the only thing remaining is the behavior that exceptions can change while they are being observed.
Throwable.clone would allow a better solution, so especially if there are any other use cases for it, I encourage you to pursue this. -Doug