当前位置:
首页
文章
后端
详情

在java的springboot框架中有几种异常处理方法?五种处理方式分享!

小编在上次讲完java这方面的相关内容之后呢!就有不少的小伙伴让我讲讲有关于springboot这方面的相关内容,那么今天小编就来和大家说说有关于:“在java的springboot框架中有几种异常处理方法?”这方面的相关内容分享!

方法一:自定义错误页面

有了解过的小伙伴们都知道在我们的springboot中默认的处理异常机制中,一旦我们运行的程序出现了异常那么 springboot就会向 /error 的 url 发送请求。而且在springboot中还有提供一个 BasicExceptionController 来处理 /error 请求,然后就会跳转到我们默认显示的异常页面中了!当然了我们也是可以将错误异常跳转到我们默认的自定义错误页面中,只需要在 src/main/resources/templates 目录下创建 error.html 页面,之后在添加下面这串代码: ​<span th:text="${exception}"></span>​。

方法二:@ExceptionHandle注解处理异常

对于这个方法的使用我们只要在​controller​中添加下面这个方法,代码如下所示:

@ExceptionHandler(value={java.lang.ArithmeticException.class})
public ModelAndView arithmeticExceptionHandler(Exception e) {
    ModelAndView mv = new ModelAndView();
    mv.addObject("error", e.toString());
    mv.setViewName("error");
    return mv;
}

方法三:@ControllerAdvice+@ExceptionHandler注解处理异常

那么在使用这个方法的时候,我们是需要创建个可以处理异常的全局异常类 ,然后再创建完成之后在这个类上我们在添加​@ControllerAdvice​注解就可以了,代码如下所示:

@ControllerAdvice
public class GlobalException {
    @ExceptionHandler(value={java.lang.ArithmeticException.class})
    public ModelAndView arithmeticExceptionHandler(Exception e) {
        ModelAndView mv = new ModelAndView();
        mv.addObject("error", e.toString());
        mv.setViewName("error");
        return mv;
    }
}

方法四: 配置SimpleMappingExceptionResolver处理异常 

这个方法和上面的方法三有点类似,在使用这个方法的时候需要在全局异常中添加一个方法完成异常类的统一处理,下面是相关代码:

@Configuration
public class GlobalException {
    public SimpleMappingExceptionResolver getSimpleMappingExceptionResolver() {
        SimpleMappingExceptionResolver resolver = new SimpleMappingExceptionResolver();
        Properties properties = new Properties();
        properties.put("java.lang.ArithmeticException", "error");
        resolver.setExceptionMappings(properties);
        return resolver;
    }
}

方法五:自定义HandlerExceptionResolver类处理异常 

那么这个方法则是需要在我们的全局异常类中实现 ​HandlerExceptionResolver​ 这个接口,下面是相关代码:

@Configuration
public class GlobalException implements HandlerExceptionResolver {
    @Override
    public ModelAndView resolverException(HttpServletRequest request, HttpServletResponse response, Object object, Exception exception) {
        ModelAndView mv = new ModelAndView();
        if(exception instanceof ArithmeticException) {
            mv.setViewName("error");
        }
        mv.addObject("error", exception.toString());
        return mv;
    }
}

总结:

那么以上的话就是小编应大家要求讲解java的springboot框架中的一个有关于:“在java的springboot框架中有几种异常处理方法?”这个问题的解决方法和相关内容分享,希望大家可以在文章中收获自己的想要的知识,那么对于哪些有喜欢java的小伙伴们大家可以在W3Cschool中进行学习和了解!


免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统