进阶得小白鼠 2017-08-24 02:20 采纳率: 0%
浏览 3116
已采纳

java自定义异常类 ,当程序走到这里的时候 ,页面的控制台报错信息是500

这个是异常类信息:
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object o, Exception e) {
logger.info("进入全局异常处理器");
//ModelAndView modelAndView = new ModelAndView();
String result = "";
// 将请求参数Map,转成BasicOrderModel实体
Map reqParam = MapUtil.getParams(request.getParameterMap());
BasicOrderModel basicOrderModel = MapUtil.mapToBean(BasicOrderModel.class, reqParam);
basicOrderModel.setRequestInfo(request);
// 解析异常类型
if(e instanceof BusinessException){
BusinessException businessException = (BusinessException)e;
result = ReplyUtil.failureReply(businessException.getMsg(), basicOrderModel, reqParam);
}else{
if(ParamVerify.checkParamIsEmpty(e.getMessage())){
result = ReplyUtil.failureReply(ExceptionCode.E00001, basicOrderModel, reqParam);
}else{
result = ReplyUtil.failureReply(e.getMessage(), basicOrderModel, reqParam);
}
}
// 将内容写入response中
try {
response.setContentType("text/json; charset=UTF-8");
response.getWriter().println(result);
} catch (IOException e1) {
e1.printStackTrace();
response.setStatus(500);
logger.info("向HttpServletResponse写入异常信息失败:"+e1.fillInStackTrace());
}
return null;
//return modelAndView;
}
---------------
这里 如果 返回的是null 代码正常可运行,但是页面的控制台的status 却是500,如果返回的是 new 一个 ModelAndView 的话,页面正常 ,状态码为200 ,但是其中是什么逻辑 ,我不清楚,为什么返回null的时候 页面控制台会报错500呢?希望那个大神能给点提示 ,3Q

    接口开发,我们这边不做页面处理,所以所有信息返回的时候也不能给前端造成坑
  • 写回答

4条回答 默认 最新

  • satan_smiles 2017-08-26 09:32
    关注

    500是服务器即你这个方法在处理请求,配置文件解析该返回值发生了错误,
    200是服务器正确处理了请求,前台可能解析错误
    你可以尝试更改返回值类型,改为void,modelAndView写在方法参数内,或者说你根本用不到modelAndView,剔除就行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?