处理您的请求时发生异常。此外,对第一个异常执行自定义错误页时发生另一异常。已终止请求。

环境: win7+vs2012+mvc3

描述:前一天运行正常,第二天突然提示以下错误。

处理您的请求时发生异常。此外,对第一个异常执行自定义错误页时发生另一异常。已终止请求。

错误如下:

“/”应用程序中的服务器错误。

运行时错
说明: 处理您的请求时发生异常。此外,对第一个异常执行自定义错误页时发生另一异常。已终止请求。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可以通过编写一个自定义异常处理器类来处理请求发生异常。以下是一个基本的实现: ```java @RestControllerAdvice public class CustomExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<ErrorResponse> handleException(HttpServletRequest request, Exception ex) { ErrorResponse errorResponse = new ErrorResponse(); errorResponse.setTimestamp(LocalDateTime.now()); errorResponse.setMessage(ex.getMessage()); errorResponse.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); errorResponse.setError(HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase()); return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR); } @ExceptionHandler(HttpMessageNotReadableException.class) public ResponseEntity<ErrorResponse> handleHttpMessageNotReadableException(HttpServletRequest request, Exception ex) { ErrorResponse errorResponse = new ErrorResponse(); errorResponse.setTimestamp(LocalDateTime.now()); errorResponse.setMessage("Malformed JSON request"); errorResponse.setStatus(HttpStatus.BAD_REQUEST.value()); errorResponse.setError(HttpStatus.BAD_REQUEST.getReasonPhrase()); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); } @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<ErrorResponse> handleMethodArgumentNotValidException(HttpServletRequest request, MethodArgumentNotValidException ex) { ErrorResponse errorResponse = new ErrorResponse(); errorResponse.setTimestamp(LocalDateTime.now()); errorResponse.setMessage("Validation error occurred"); errorResponse.setStatus(HttpStatus.BAD_REQUEST.value()); errorResponse.setError(HttpStatus.BAD_REQUEST.getReasonPhrase()); List<String> errors = new ArrayList<>(); for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) { errors.add(fieldError.getField() + ": " + fieldError.getDefaultMessage()); } errorResponse.setErrors(errors); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); } // Add more exception handlers as needed } ``` 上述代码,`@RestControllerAdvice`注释表示这是一个异常处理器类,并且在处理异常,它将返回一个`ResponseEntity<ErrorResponse>`对象。`ErrorResponse`是一个自定义类,表示响应错误信息。`@ExceptionHandler`注释用于指定应该处理哪些类型的异常。在这个例子,我们处理了通用的`Exception`异常、`HttpMessageNotReadableException`异常和`MethodArgumentNotValidException`异常。 可以通过添加更多的异常处理程序来处理其他类型的异常。此外,您可以根据需要扩展`ErrorResponse`类以包含更多有用的信息。最后,要注意,在处理`MethodArgumentNotValidException`异常,我们会遍历所有的字段错误,然后将它们添加到`errors`列表,以便在响应返回所有错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值