|
@@ -20,16 +20,22 @@ public class ApproveErrorController {
|
|
|
|
|
|
@GetMapping(value = "/error")
|
|
|
public ResponseEntity<ResponseStatus> error(HttpServletRequest request) {
|
|
|
- String message = request.getAttribute("javax.servlet.error.message").toString();
|
|
|
- Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception");
|
|
|
+ Object attribute = request.getAttribute("javax.servlet.error.exception");
|
|
|
+ Throwable throwable = (Throwable) attribute;
|
|
|
|
|
|
- if (throwable.getCause() instanceof ApplicationException) {
|
|
|
- ApplicationException ex = (ApplicationException) throwable.getCause();
|
|
|
- int status = ex.getStatusCode() == 0 ? 500 : ex.getStatusCode();
|
|
|
- return new ResponseEntity<>(new ResponseStatus(String.valueOf(status), ex.getMessage()), HttpStatus.resolve(HttpCode.PARAM_VERIFY_ERROR.getCode()));
|
|
|
+ if (throwable != null) {
|
|
|
+ if (throwable.getCause() instanceof ApplicationException) {
|
|
|
+ ApplicationException ex = (ApplicationException) throwable.getCause();
|
|
|
+ int status = ex.getStatusCode() == 0 ? 500 : ex.getStatusCode();
|
|
|
+ assert HttpStatus.resolve(HttpCode.PARAM_VERIFY_ERROR.getCode()) != null;
|
|
|
+ return new ResponseEntity<>(new ResponseStatus(String.valueOf(status), ex.getMessage()), HttpStatus.resolve(HttpCode.PARAM_VERIFY_ERROR.getCode()));
|
|
|
+ } else {
|
|
|
+ return new ResponseEntity<>(ResponseStatus.fail("500", "未知异常[" + throwable.getMessage() + "]"), HttpStatus.BAD_GATEWAY);
|
|
|
+ }
|
|
|
} else {
|
|
|
- return new ResponseEntity<>(ResponseStatus.fail("500", "未知异常[" + throwable.getMessage() + "]"), HttpStatus.BAD_GATEWAY);
|
|
|
+ return new ResponseEntity<>(ResponseStatus.fail("500", "未知异常"), HttpStatus.BAD_GATEWAY);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|
|
|
}
|