增加RetException

This commit is contained in:
redkale
2024-06-27 12:32:18 +08:00
parent 76761acb9b
commit da17758614
3 changed files with 55 additions and 2 deletions

View File

@@ -0,0 +1,43 @@
/*
*
*/
package org.redkale.service;
import org.redkale.util.RedkaleException;
/**
* 错误码自定义异常类
*
* <p>详情见: https://redkale.org
*
* @author zhangjx
* @since 2.8.0
*/
public class RetException extends RedkaleException {
private int code;
public RetException(int code) {
super(RetCodes.retInfo(code));
this.code = code;
}
public RetException(int code, String message) {
super(message);
this.code = code;
}
public RetException(int code, Throwable cause) {
super(RetCodes.retInfo(code), cause);
this.code = code;
}
public RetException(int code, String message, Throwable cause) {
super(message, cause);
this.code = code;
}
public int getCode() {
return code;
}
}

View File

@@ -126,11 +126,21 @@ public class RetResult<T> implements Serializable {
return new RetResult(retcode, retinfo);
}
// @since 2.8.0
public static <T> RetResult<T> fail(RetException ex) {
return new RetResult(ex.getCode(), ex.getMessage());
}
// @since 2.7.0
public static <T> CompletableFuture<RetResult<T>> failFuture(int retcode, String retinfo) {
return CompletableFuture.completedFuture(new RetResult(retcode, retinfo));
}
// @since 2.8.0
public static <T> CompletableFuture<RetResult<T>> failFuture(RetException ex) {
return CompletableFuture.completedFuture(new RetResult(ex.getCode(), ex.getMessage()));
}
// @since 2.7.0
public T join() {
if (isSuccess()) {