在实际开发中,经常会出现一些各种不可避免的异常,404、500等,出现异常后,不经过处理,会将错误的堆栈信息暴露到前端页面,对用户而言非常不友好,为了解决该问题,我们可以引入SpringMVC的异常处理机制:
当controller抛出异常后,应该去调用异常处理器组件,再去调用异常处理器处理异常,从而跳转一些比较友好的页面。
解决步骤:
1、编写自定义异常类(做提示信息的)
2、编写异常处理器
3、配置异常处理器(跳转到提示页面)
编写自定义异常处理类
SpringMVC配置文件中进行配置异常处理器
1、需要自定义一个异常类SysException
2、编写异常处理器(实现HandlerExceptionResolver)
3、配置异常处理器(在spring的配置文件中配置异常处理器)
4、应用
在需要抛出自定义异常的地方,throw自己写的异常类,异常处理器匹配到相应的异常后,做对应处理。
5、数据展示
public class MyException extends Exception {public MyException(String msg){
super(msg);
}
}
public class TestMyException {
public static void MyException() throws MyException{
throw new MyException("\"MyException()\" method occurs an exception! ");
}
public static void main(String[] args) {
try{
TestMyExceptionMyException();
} catch(MyException e1) {
Systemoutprintln("Exception: " + e1getMessage());
e1printStackTrace();
}
}
}class MyException extends Exception //自定义的异常类 继承Exception类
{
private String exceptionName; //定义一个私有变量,用来为自定义异常
public MyException(){} //创建一个无参数的构造函数
public MyException(String exceptionName){ //创建一个有参数的构造函数,传入的参数为前面定义的异常名称
thisexceptionName=exceptionName;
}
public String getExceptionName(){ //定义一个方法,提供给外部来获取私有变量
return thisexceptionName;
}
public static void main(String [] args){
try{
Systemoutprintln("自定义的异常类对象");
throw new MyException("自定义的异常");//抛一个自定义的异常类对象,传入的参数就是给控制台看的异常
}catch(MyException e){
Systemoutprintln("异常信息:"+egetExceptionName());
}
}
}
我已经尽力你……你懂的!
public class TestMyException{
public static void main(String args[]) throws MyException{
public String toString() {
String s = getClass()getName();
String message = getLocalizedMessage();
return (message != null) (s + ": " + message) : s;
}
TestMyExceptionMyException();
} catch(MyException e1) {
Systemoutprintln("Exception: " + e1getMessage());
e1printStackTrace();
扩展资料:
javaawtdatatransfer类 MimeTypeParseException
javalangObject
javalangThrowablejavalangException
javaawtdatatransferMimeTypeParseException
所有已实现的接口
Serializablepublic class MimeTypeParseException extends Exception
对分析相关异常的 MimeType 进行封装的类
参考资料来源:百度百科-MimeTypeParseException类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)