code: public void setFailure(Throwable cause) {
          if (this.isCancelled()) {
              this.releaseIfNeed(result);
              return;
          }
          if (setFailure0(cause)) {
              notifyListeners();
              return;
          }
          throw new IllegalStateException("complete already: " + this, cause);
      }
docs: 设置异常
  
  @param cause 异常类型