Throwing functions let VM errors pass through

VM errors ought to be rethrown without being wrapped inside a
FunctionException.
This commit is contained in:
Emmanuel BENOîT 2015-09-17 09:42:23 +02:00
parent dfac1d4b0f
commit 34b97af161
59 changed files with 59 additions and 59 deletions

View file

@ -32,7 +32,7 @@ public interface ThrowingBiConsumer< T , U >
{ {
try { try {
this.throwingAccept( t , u ); this.throwingAccept( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingBiFunction< T , U , R >
{ {
try { try {
return this.throwingApply( t , u ); return this.throwingApply( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingBiPredicate< T , U >
{ {
try { try {
return this.throwingTest( t , u ); return this.throwingTest( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -31,7 +31,7 @@ public interface ThrowingBinaryOperator< T >
{ {
try { try {
return this.throwingApply( t , u ); return this.throwingApply( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingBooleanSupplier
{ {
try { try {
return this.throwingGetAsBoolean( ); return this.throwingGetAsBoolean( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingConsumer< T >
{ {
try { try {
this.throwingAccept( t ); this.throwingAccept( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingDoubleBinaryOperator
{ {
try { try {
return this.throwingApplyAsDouble( t , u ); return this.throwingApplyAsDouble( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -29,7 +29,7 @@ public interface ThrowingDoubleConsumer
{ {
try { try {
this.throwingAccept( t ); this.throwingAccept( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingDoubleFunction< R >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingDoublePredicate
{ {
try { try {
return this.throwingTest( t ); return this.throwingTest( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingDoubleSupplier
{ {
try { try {
return this.throwingGetAsDouble( ); return this.throwingGetAsDouble( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingDoubleToFloatFunction
{ {
try { try {
return this.throwingApplyAsFloat( t ); return this.throwingApplyAsFloat( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingDoubleToIntFunction
{ {
try { try {
return this.throwingApplyAsInt( t ); return this.throwingApplyAsInt( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingDoubleToLongFunction
{ {
try { try {
return this.throwingApplyAsLong( t ); return this.throwingApplyAsLong( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingDoubleUnaryOperator
{ {
try { try {
return this.throwingApplyAsDouble( t ); return this.throwingApplyAsDouble( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingFloatBinaryOperator
{ {
try { try {
return this.throwingApplyAsFloat( t , u ); return this.throwingApplyAsFloat( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -25,7 +25,7 @@ public interface ThrowingFloatConsumer
{ {
try { try {
this.throwingAccept( t ); this.throwingAccept( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatFunction< R >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatPredicate
{ {
try { try {
return this.throwingTest( t ); return this.throwingTest( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -24,7 +24,7 @@ public interface ThrowingFloatSupplier
{ {
try { try {
return this.throwingGetAsFloat( ); return this.throwingGetAsFloat( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatToDoubleFunction
{ {
try { try {
return this.throwingApplyAsDouble( t ); return this.throwingApplyAsDouble( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatToIntFunction
{ {
try { try {
return this.throwingApplyAsInt( t ); return this.throwingApplyAsInt( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatToLongFunction
{ {
try { try {
return this.throwingApplyAsLong( t ); return this.throwingApplyAsLong( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingFloatUnaryOperator
{ {
try { try {
return this.throwingApplyAsFloat( t ); return this.throwingApplyAsFloat( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingFunction< T , R >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingIntBinaryOperator
{ {
try { try {
return this.throwingApplyAsInt( t , u ); return this.throwingApplyAsInt( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -29,7 +29,7 @@ public interface ThrowingIntConsumer
{ {
try { try {
this.throwingAccept( t ); this.throwingAccept( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingIntFunction< R >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingIntPredicate
{ {
try { try {
return this.throwingTest( t ); return this.throwingTest( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingIntSupplier
{ {
try { try {
return this.throwingGetAsInt( ); return this.throwingGetAsInt( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingIntToDoubleFunction
{ {
try { try {
return this.throwingApplyAsDouble( t ); return this.throwingApplyAsDouble( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingIntToFloatFunction
{ {
try { try {
return this.throwingApplyAsFloat( t ); return this.throwingApplyAsFloat( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingIntToLongFunction
{ {
try { try {
return this.throwingApplyAsLong( t ); return this.throwingApplyAsLong( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingIntUnaryOperator
{ {
try { try {
return this.throwingApplyAsInt( t ); return this.throwingApplyAsInt( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingLongBinaryOperator
{ {
try { try {
return this.throwingApplyAsLong( t , u ); return this.throwingApplyAsLong( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -29,7 +29,7 @@ public interface ThrowingLongConsumer
{ {
try { try {
this.throwingAccept( t ); this.throwingAccept( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingLongFunction< R >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingLongPredicate
{ {
try { try {
return this.throwingTest( t ); return this.throwingTest( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingLongSupplier
{ {
try { try {
return this.throwingGetAsLong( ); return this.throwingGetAsLong( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingLongToDoubleFunction
{ {
try { try {
return this.throwingApplyAsDouble( t ); return this.throwingApplyAsDouble( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingLongToFloatFunction
{ {
try { try {
return this.throwingApplyAsFloat( t ); return this.throwingApplyAsFloat( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingLongToIntFunction
{ {
try { try {
return this.throwingApplyAsInt( t ); return this.throwingApplyAsInt( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingLongUnaryOperator
{ {
try { try {
return this.throwingApplyAsLong( t ); return this.throwingApplyAsLong( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingObjDoubleConsumer< T >
{ {
try { try {
this.throwingAccept( t , u ); this.throwingAccept( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingObjFloatConsumer< T >
{ {
try { try {
this.throwingAccept( t , u ); this.throwingAccept( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingObjIntConsumer< T >
{ {
try { try {
this.throwingAccept( t , u ); this.throwingAccept( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingObjLongConsumer< T >
{ {
try { try {
this.throwingAccept( t , u ); this.throwingAccept( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingPredicate< T >
{ {
try { try {
return this.throwingTest( t ); return this.throwingTest( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -23,7 +23,7 @@ public interface ThrowingRunnable
{ {
try { try {
this.throwingRun( ); this.throwingRun( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingSupplier< T >
{ {
try { try {
return this.throwingGet( ); return this.throwingGet( );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingToDoubleBiFunction< T , U >
{ {
try { try {
return this.throwingApplyAsDouble( t , u ); return this.throwingApplyAsDouble( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingToDoubleFunction< T >
{ {
try { try {
return this.throwingApplyAsDouble( t ); return this.throwingApplyAsDouble( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -28,7 +28,7 @@ public interface ThrowingToFloatBiFunction< T , U >
{ {
try { try {
return this.throwingApplyAsFloat( t , u ); return this.throwingApplyAsFloat( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -26,7 +26,7 @@ public interface ThrowingToFloatFunction< T >
{ {
try { try {
return this.throwingApplyAsFloat( t ); return this.throwingApplyAsFloat( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingToIntBiFunction< T , U >
{ {
try { try {
return this.throwingApplyAsInt( t , u ); return this.throwingApplyAsInt( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingToIntFunction< T >
{ {
try { try {
return this.throwingApplyAsInt( t ); return this.throwingApplyAsInt( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -32,7 +32,7 @@ public interface ThrowingToLongBiFunction< T , U >
{ {
try { try {
return this.throwingApplyAsLong( t , u ); return this.throwingApplyAsLong( t , u );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingToLongFunction< T >
{ {
try { try {
return this.throwingApplyAsLong( t ); return this.throwingApplyAsLong( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );

View file

@ -30,7 +30,7 @@ public interface ThrowingUnaryOperator< T >
{ {
try { try {
return this.throwingApply( t ); return this.throwingApply( t );
} catch ( final RuntimeException e ) { } catch ( final Error | RuntimeException e ) {
throw e; throw e;
} catch ( final Throwable e ) { } catch ( final Throwable e ) {
throw new FunctionException( e ); throw new FunctionException( e );