68
|
1 package fschmidt.util.java;
|
|
2
|
|
3 import java.util.concurrent.ExecutionException;
|
|
4
|
|
5
|
|
6 public final class ComputationException extends RuntimeException {
|
|
7
|
|
8 public ComputationException(Exception e) {
|
|
9 super(e);
|
|
10 }
|
|
11
|
|
12 public static ComputationException newInstance(ExecutionException e) {
|
|
13 Throwable cause = e.getCause();
|
|
14 if( cause instanceof Error )
|
|
15 throw (Error)cause;
|
|
16 if( cause instanceof RuntimeException )
|
|
17 throw (RuntimeException)cause;
|
|
18 if( cause instanceof Exception )
|
|
19 return new ComputationException((Exception)cause);
|
|
20 return new ComputationException(e);
|
|
21 }
|
|
22 }
|