8.6zk/hamburg-common/src/main/java/com/hamburg/common/controllerAdvice/ProjectControllerAdvice.java

31 lines
1.1 KiB
Java

package com.hamburg.common.controllerAdvice;
import com.hamburg.common.exception.ProjectException;
import com.hamburg.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@Slf4j
@RestControllerAdvice
public class ProjectControllerAdvice {
@ExceptionHandler(value = ProjectException.class)
public Result projectExceptionHandler(Throwable e){
StackTraceElement stackTraceElement = e.getStackTrace()[0];
String className = stackTraceElement.getClassName();
String fileName = stackTraceElement.getFileName();
int lineNumber = stackTraceElement.getLineNumber();
String methodName = stackTraceElement.getMethodName();
log.error("projectExceptionHandler:{}",e.getMessage());
return Result.error(e.getMessage()+"该方法报错的位置是类:{"+className+"},文件:{"+fileName+"},报错行数:{"+lineNumber+"},方法名:{"+methodName+"}");
}
}