Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 无法捕获异常(多部分Mime部件文件超过最大文件大小)_Spring Boot - Fatal编程技术网

Spring boot 无法捕获异常(多部分Mime部件文件超过最大文件大小)

Spring boot 无法捕获异常(多部分Mime部件文件超过最大文件大小),spring-boot,Spring Boot,我的springboot版本是2.0.2,我在controller类中创建了全局异常,如下所示: @ExceptionHandler(Exception.class) @ResponseBody public Result handleException(Exception e, HttpSession session, HttpServletRequest request) { LOGGER.error(e.getMessage()); 但是我不能捕捉异常,似乎我应该在控制器之前捕捉

我的springboot版本是2.0.2,我在controller类中创建了全局异常,如下所示:

@ExceptionHandler(Exception.class)
@ResponseBody
public Result handleException(Exception e, HttpSession session, HttpServletRequest request) {
    LOGGER.error(e.getMessage());
但是我不能捕捉异常,似乎我应该在控制器之前捕捉异常,如何

org.eclipse.jetty.http.BadMessageException:400:无法分析表单 所容纳之物 位于org.eclipse.jetty.server.Request.getParameters(Request.java:390) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.Request.getParameter(Request.java:1025) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.springframework.web.filter.hiddenhttmpmethodfilter.doFilterInternal(hiddenhttmpmethodfilter.java:75) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) ~[jetty-servlet-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) ~[jetty-servlet-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) ~[jetty-servlet-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) ~[jetty-servlet-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 在org.eclipse.jetty.server.server.handle(server.java:531)~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.io.AbstractConnection$ReadCallback.successed(AbstractConnection.java:281) ~[jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) ~[jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.strategy.eatwatyoukill.runTask(eatwatyoukill.java:333) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.strategy.eatwatyoukill.doProduce(eatwatyoukill.java:310) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.strategy.eatwatyoukill.tryProduce(eatwatyoukill.java:168) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.strategy.eatwatyoukill.product(eatwatyoukill.java:132) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 在java.lang.Thread.run(Thread.java:748)[?:1.8.0131] 原因:java.lang.IllegalStateException:多部分Mime部件文件超过最大文件大小 位于org.eclipse.jetty.util.MultiPartInputStreamParser$MultiPart.write(MultiPartInputStreamParser.java:174) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 位于org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:812) ~[jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503] 在组织
@ControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
    @ExceptionHandler(value = {MaxUploadSizeExceededException.class})
    protected ResponseEntity<String> handle(MaxUploadSizeExceededException ex) {
        return ResponseEntity.ok(ex.getMessage());
    }
}
@Controller
public class MyController implements HandlerExceptionResolver {
    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public ModelAndView someMethod(@RequestParam("file") MultipartFile file) throws Exception{
        return new ModelAndView("success");
    }

    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        if (e instanceof MaxUploadSizeExceededException){
            return new ModelAndView("sizeLimitExceeded");
        }
        return new ModelAndView("otherException");
    }
}