public abstract class Result{
Result(){}
public final static class Ok extends Result {
public final double [] data;
...
}
public final static class Error extends Result{
private Error(){}
public static final Error Instance = new Error ();
}
}
try{
parse
return new Result.Ok(parsed);
} catch(NFE){
return Result.Error.Instance;
}
if(result instanceOf Result.Ok ok){
use ok.data
} else {
Handle error
}