山东seo网络推广seo入门培训课程
web/
2025/10/7 6:27:41/
文章来源:
山东seo网络推广,seo入门培训课程,四川省工程造价信息网官网,中企动力做网站费用1. 两种异常处理机制
1.1 使用 throw 关键字手动抛出异常 使用throw关键字抛出异常#xff0c;代码会的显得简单明了 如下图所示
1.2 使用 try-catch 捕获异常 使用try-catch进行捕获异常#xff0c;往往会使代码变得更加笼统#xff0c;层层包裹 如下图所示
2. 自定义…1. 两种异常处理机制
1.1 使用 throw 关键字手动抛出异常 使用throw关键字抛出异常代码会的显得简单明了 如下图所示
1.2 使用 try-catch 捕获异常 使用try-catch进行捕获异常往往会使代码变得更加笼统层层包裹 如下图所示
2. 自定义异常处理 我们可以使用我们自定义的异常处理用于解决我们所设定的异常 import lombok.Data;/*** 自定义异常*/
Data
public class XueChengPlusException extends RuntimeException{private String errMessage;public XueChengPlusException() {}public XueChengPlusException(String message) {this.errMessage message;}public static void cast(String message){throw new XueChengPlusException(message);}public static void cast(CommonError error){throw new XueChengPlusException(error.getErrMessage());}
}
3. 异常返回前端信息model 由于我们往往需要前后端联调的时候寻要获取异常处理的信息使其显示在前端页面显示给用户 import java.io.Serializable;/*** 错误响应参数包装异常信息模型*/public class RestErrorResponse implements Serializable {private final String errMessage;public RestErrorResponse(String errMessage) {this.errMessage errMessage;}public String getErrMessage() {return errMessage;}
}4. 通用异常信息 从上文来看我们自定义异常继承的是RuntimeException但如果是出现其他类型的异常例如Exception…我们需要定义一个通用异常处理 /*** description 通用错误信息*/
public enum CommonError {UNKOWN_ERROR(执行过程异常请重试。),PARAMS_ERROR(非法参数),OBJECT_NULL(对象为空),QUERY_NULL(查询结果为空),REQUEST_NULL(请求参数为空);private String errMessage;public String getErrMessage() {return errMessage;}private CommonError( String errMessage) {this.errMessage errMessage;}}5. 全局异常处理 这是一个异常处理机器用于处理各种异常然后返回给前端一个异常信息 import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;Slf4j
ControllerAdvice
public class GlobalExceptionHandler {/*** 针对自定义异常进行处理* param e* return*/ExceptionHandler(XueChengPlusException.class)ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)ResponseBodypublic RestErrorResponse customException(XueChengPlusException e){//记录异常log.error(系统异常{},e.getErrMessage(),e);//解析出异常信息String errMessage e.getErrMessage();RestErrorResponse restErrorResponse new RestErrorResponse(errMessage);return restErrorResponse;}ExceptionHandler(Exception.class)ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)ResponseBodypublic RestErrorResponse customException(Exception e){//记录异常log.error(系统异常{},e.getMessage(),e);//解析出异常信息RestErrorResponse restErrorResponse new RestErrorResponse(CommonError.UNKOWN_ERROR.getErrMessage());return restErrorResponse;}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88324.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!