微服务 教程
1085个小节阅读:196.1k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在系统当中, Dao、Service、Controller层代码出现都可能抛出异常。如果哪里产生异常就在哪里处理,则会降低开发效率。所以一般情况下我们会让异常向上抛出,最终到达DispatcherServlet中,此时SpringMVC提供了异常处理器进行异常处理,这样可以提高开发效率。
处理单个Controller的异常:
xxxxxxxxxx
public class MyController {
"/t1") (
public String t1(){
String str = null;
// str.length();
// int flag = 1/0;
int[] arr = new int[1];
arr[2] = 10;
return "index";
}
/**
* 异常处理方法
* @param ex 异常对象
* @param model 模型对象
* @return
*/
// 添加@ExceptionHandler,表示该方法是处理异常的方法,属性为处理的异常类
java.lang.NullPointerException.class,java.lang.ArithmeticException.class}) ({
public String exceptionHandle1(Exception ex, Model model){
// 向模型中添加异常对象
model.addAttribute("msg",ex);
// 跳转到异常页面
return "error";
}
// 方法一不能处理的异常交给方法二处理
java.lang.Exception.class) (
public String exceptionHandle2(Exception ex, Model model){
model.addAttribute("msg",ex);
return "error2";
}
}
异常页面error.jsp
xxxxxxxxxx
<%page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>出错了!</title>
</head>
<body>
<h3>ERROR 发生异常!${msg}</h3>
</body>
</html>
异常页面error2.jsp
xxxxxxxxxx
<%page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>出错了!</title>
</head>
<body>
<h3>ERROR2 发生严重异常!${msg}</h3>
</body>
</html>
1.在SpringMVC中,方法上方添加表示该方法是处理异常的方法
A @Exception
B @Handler
C @ExceptionHandler
D @ExceptionListener
1=>C