当前位置: 首页 > news >正文

网站规划内容方案博客网站登录入口

网站规划内容方案,博客网站登录入口,wordpress隐藏路径插件,wordpress后缀55、错误处理-【源码流程】几种异常处理原理 #### 自定义错误页 - **原理**: - 在项目中定义特定的错误页面,如error/404.html、error/5xx.html等。 - 当系统发生相应错误时,服务器会自动查找并返回对应的错误页面。 - **流程**&#xff1a…

55、错误处理-【源码流程】几种异常处理原理

#### 自定义错误页

- **原理**:

    - 在项目中定义特定的错误页面,如`error/404.html`、`error/5xx.html`等。

    - 当系统发生相应错误时,服务器会自动查找并返回对应的错误页面。

- **流程**:

    1. 发生错误,服务器根据错误状态码(如404、500等)查找对应的错误页面。

    2. 如果找到精确匹配的错误页面,则返回该页面;否则,返回通用的`4xx.html`或`5xx.html`页面。

    3. 如果都没有匹配的错误页面,则触发默认的白页(空白页面)。

#### `@ControllerAdvice` + `@ExceptionHandler`处理全局异常

- **原理**:

    - 使用`@ControllerAdvice`注解标记一个类,作为全局异常处理的控制器。

    - 在该类中使用`@ExceptionHandler`注解标记方法,用于处理特定类型的异常。

- **流程**:

    1. 程序运行过程中发生异常。

    2. Spring框架的`ExceptionHandlerExceptionResolver`检测到异常。

    3. 根据异常类型查找`@ControllerAdvice`类中匹配的`@ExceptionHandler`方法。

    4. 执行匹配的`@ExceptionHandler`方法,返回相应的处理结果(如视图、JSON数据等)。

- **示例**:

    ```java

    @Slf4j

    @ControllerAdvice

    public class GlobalExceptionHandler {

    

        @ExceptionHandler({ArithmeticException.class, NullPointerException.class})

        public String handleArithmeticException(Exception e) {

            log.error("发生异常:{}", e);

            return "error"; // 跳转到错误页面

        }

    

    }

    ```

#### `@ResponseStatus` + 自定义异常

- **原理**:

    - 创建一个自定义异常类,并使用`@ResponseStatus`注解标记,指定HTTP状态码和原因。

    - 当程序抛出该自定义异常时,Spring框架会自动设置响应的HTTP状态码和原因。

- **流程**:

    1. 程序运行过程中,满足特定条件时手动抛出带有`@ResponseStatus`注解的自定义异常。

    2. Spring框架的`ResponseStatusExceptionResolver`检测到该异常。

    3. 根据`@ResponseStatus`注解的信息,设置响应的HTTP状态码和原因。

    4. 返回对应的错误信息给客户端。

- **示例**:

    ```java

    @ResponseStatus(value = HttpStatus.FORBIDDEN, reason = "用户数量太多")

    public class UserTooManyException extends RuntimeException {

        // 构造方法等

    }

    

    @Controller

    public class UserController {

    

        @GetMapping("/register")

        public String register() {

            if (userCount > MAX_USER_COUNT) {

                throw new UserTooManyException();

            }

            // ...

        }

    

    }

    ```

#### Spring自带异常处理

- **原理**:

    - Spring框架内置了一些异常处理器,如`DefaultHandlerExceptionResolver`,用于处理Spring框架自身抛出的异常。

- **流程**:

    1. 程序运行过程中,Spring框架检测到自身抛出的异常(如`MissingServletRequestParameterException`等)。

    2. `DefaultHandlerExceptionResolver`或其他相应的异常处理器处理该异常。

    3. 根据异常类型,设置响应的HTTP状态码和错误信息。

    4. 返回错误响应给客户端。

通过以上几种方式,可以有效地处理程序中的各种异常,提高系统的健壮性和用户体验。

http://www.ds6.com.cn/news/59470.html

相关文章:

  • wordpress免费企模板下载seo搜索引擎优化总结报告
  • 网站制作百度资源如何把网站推广
  • wordpress 分类图片尺寸公司seo
  • 设计b2c网站建设seo实战密码第四版
  • 成都品牌策划设计公司seo推广软件代理
  • 动态网站开发 pdf搜索引擎调词软件
  • 网站建设技术标准seo点击排名软件营销工具
  • 九亭镇村镇建设办官方网站品牌营销推广代运营
  • 外贸公司有哪些类型免费seo网站自动推广
  • wordpress的系统关键词seo公司推荐
  • 如何在网上做网站推广宁波seo搜索优化费用
  • 建设一个网站需要做哪些工作优化公司流程制度
  • 永嘉网站制作系统网络营销的分类
  • 可以推广的网站有哪些网页设计与制作教程
  • 四川网站建设博客百度官方推广平台
  • html5个性个人网站搭建网站步骤
  • 站点推广策略包括第一站长网
  • 帮赌博网站做推广被抓会判刑吗网络推广员是什么
  • 罗湖附近公司做网站建设哪家效益快百度搜题
  • 晨光文具网站建设策划书seo教程视频
  • dedecms怎么做网站营销推广的工具有哪些
  • 网站开发视频教程seo相关岗位
  • 晒豆网站建设广告优化师适合女生吗
  • 做一个网站要多少钱seo优化专员
  • 做书的网站有哪些内容吗长沙网站推广
  • 网站部兼容是什么原因网络防御中心
  • 北仑做网站百度热搜榜怎么打开
  • 网站建设 手机优化工作流程
  • 舟山网站建设优化互联网营销师培训班
  • 上海做saas平台网站的公司互联网广告代理商