java中如何处理异常代码示例

在写代码的时候,经常遇到需要异常处理。

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 配置文件里面好像还要配置下。

经验分享 程序员 微信小程序 职场和发展