在写代码的时候,经常遇到需要异常处理。
1.在catch里面捕获异常,然后比如:throw new connectException(“”); 括号里可以填写的信息,可以作为参数在外层捕捉这个异常的时候作为参数如下:
try{
..
catch (Exception e) {
throw new ConnectException(ip);
}
2. 捕捉上述异常:
catch (Exception e) {
if(ex instanceof ConnectException){
returnStr=getErrorMsg( ex.getMessage());
}else{
returnStr="获取用户信息出错:"+ex.getMessage();
}
}
这样就可以捕捉到自己想要的异常,并进行处理了。当然,这是单个模块的异常处理,如果是全局异常处理,在spring mvc里面,比如,需要根据捕捉的异常,最后显示什么界面,则:
/** * spring mvc异常捕获类 * */
@Component
public class MyExceptionHandler implements HandlerExceptionResolver {
private static final Logger logger = Logger
.getLogger(MyExceptionHandler.class);
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
String exceptionMessage = ExceptionUtil.getExceptionMessage(ex);
logger.error(exceptionMessage);
Map model = new HashMap();
model.put("exceptionMessage", exceptionMessage);
model.put("ex", ex);
return new ModelAndView("common/error", model);
}
}
类似这样的写法,根据异常的类型,来决定要跳转的页面,sping 配置文件里面好像还要配置下。
本文介绍Java中异常处理的方法,包括如何使用自定义异常、捕捉特定类型的异常并进行处理,以及如何在Spring MVC环境中实现全局异常处理,通过示例代码详细说明了异常处理的具体步骤。
156

被折叠的 条评论
为什么被折叠?



