On Jul 11, 2014, at 7:56 PM, Remi Forax <fo...@univ-mlv.fr> wrote:
> On 07/11/2014 06:18 PM, Vladimir Ivanov wrote:
>> http://cr.openjdk.java.net/~vlivanov/8050052/webrev.00
>> https://bugs.openjdk.java.net/browse/JDK-8050052
> 
> I've found myself writing the very same code as 
> MethodHandleStatics.uncaughException several times
> and I wonder if it should not be an instance method of Throwable.
> Something like:
> 
> public <E extends Throwable> E rethrow(Function<? super Throwable, ? extends 
> E> uncaughtHandler) {
>  if (this instanceof RuntimeException) {
> throw (RuntimeException)this;
>  }
>  if (this instanceof Error) {
>    throw (Error)this;
>  }
>  return uncaughtHandler.apply(this);
> }
> 
> in that case, throw uncaughtException(ex) can be replaced by throw 
> ex.rethrow(::newInternalError);
> 

I suspect there could be a risk of some bootstrap/initialization issues using a 
method ref in such code.

Paul.

Reply via email to