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

郑州网站开发公司名称大全佛山旺道seo

郑州网站开发公司名称大全,佛山旺道seo,网站优化是什么,网站开发人员招聘it管理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.hkea.cn/news/107399/

相关文章:

  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司