51 lines
1.4 KiB
Java
51 lines
1.4 KiB
Java
package cn.palmte.work;
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.util.Assert;
|
|
|
|
import java.util.function.Supplier;
|
|
|
|
/**
|
|
* @author <a href="https://github.com/TAKETODAY">Harry Yang</a>
|
|
* @since 2.0 2022/12/30 15:25
|
|
*/
|
|
public class ErrorMessageException extends NoStackTraceRuntimeException {
|
|
|
|
private final HttpStatus status;
|
|
|
|
public ErrorMessageException(/*@Nullable*/ String msg) {
|
|
this(msg, null, HttpStatus.BAD_REQUEST);
|
|
}
|
|
|
|
public ErrorMessageException(/*@Nullable*/ String msg, /*@Nullable*/ Throwable cause, HttpStatus status) {
|
|
super(msg, cause);
|
|
Assert.notNull(status, "http status is required");
|
|
this.status = status;
|
|
}
|
|
|
|
public HttpStatus getStatus() {
|
|
return status;
|
|
}
|
|
|
|
public static ErrorMessageException failed(String message) {
|
|
return new ErrorMessageException(message);
|
|
}
|
|
|
|
public static ErrorMessageException failed(String message, HttpStatus status) {
|
|
return new ErrorMessageException(message, null, status);
|
|
}
|
|
|
|
public static void notNull(Object obj, String message) {
|
|
if (obj == null) {
|
|
throw ErrorMessageException.failed(message, HttpStatus.NOT_FOUND);
|
|
}
|
|
}
|
|
|
|
public static void notNull(Object obj, Supplier<String> supplier) {
|
|
if (obj == null) {
|
|
throw new ErrorMessageException(supplier.get());
|
|
}
|
|
}
|
|
|
|
}
|