学习SpringMVC的第四天

异常处理

整体思路如下

第一种方式 : 只能回显视图 ,不能会先json字符串

第二种方式 :都可回显 , 但是很麻烦

第三种 : 很智能 , 推荐使用

来看第三种方式 , 如下

java 复制代码
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(RuntimeException.class)
    public ModelAndView runtimeExceptionResolverMethod(RuntimeException ex){
        System.out.println(ex);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("/error1.html");
        return modelAndView;
    }

    @ExceptionHandler(IOException.class)
    @ResponseBody
    public Result ioExceptionResolverMethod(IOException ex){
        System.out.println(ex);
        Result result = new Result(0,"xxxx","xxxx");
        return result;
    }

}

总体来说 , @ControllerAdvice + @ExceptionHandler("写异常类型") , 很方便

回显json字符串 , 调用result类 ,new实体对象即可(得加上@ResponseBody)

相关推荐
程序员yu1 小时前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法
Lintongzg1 小时前
千卡训练的隐形账单:通信不是瓶颈
笔记·学习·性能优化·llm
dadaobusi1 小时前
学习: SIOV
学习
LuminousCPP1 小时前
从零开始学 C++(三):类和对象入门|从 struct 到 class,理解封装、对象与 this 指针
c++·笔记·学习·类和对象
传奇开心果编程2 小时前
【Flutter入门练中学】第11课:状态管理进阶与声明式路由
android·学习·flutter·ui·ios
承渊政道2 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
个 人 练 习 生3 小时前
C++中的内存管理
开发语言·c++·经验分享·学习
浩瀚地学4 小时前
deepagents学习打卡day08
经验分享·笔记·python·学习·agent
艾莉丝努力练剑4 小时前
【AI大模型接入SDK】ChatSDK整体实现
网络·c++·人工智能·学习·架构
励志不掉头发的内向程序员4 小时前
【从零写一个CAD 02】画完第一条线之后:实体容器、Esc 取消,和按了没反应的键盘
开发语言·c++·qt·学习·系统架构