code: @Override
      public IPromise<T> onError(Consumer errorHandler) {
          return then( (r,e) -> {
              if ( e != null && e != Timeout.INSTANCE) {
                  errorHandler.accept(e);
              }
          });
      }
docs: see IPromise (inheriting Callback) interface