问题标签 [exceptionhandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tomcat:ExceptionHasndler 不适用于 MultiPartException,但适用于 IllegalArgumentException
我有这样的控制器:
在配置中我有设置:
这意味着MultipartException
如果文件超过 100MB,spring 会抛出。
为了处理这个异常,我写了处理程序:
如果出现错误,此代码会调用(我在调试中看到它)
但在浏览器中我没有看到响应:
我用谷歌搜索了很多时间,看起来一切都很好。我尝试为 IllegalArgumentException 添加处理程序:
我上传的文件小于 100mb。在这种情况下,结果不同:
但无论如何响应代码是错误的。
有什么问题?
附言
我试过了:
它看起来和这里一样:
PS2
我找到了解决方法,但它看起来像 sring 中的错误:
我添加了依赖项:
注册bean:
并写道:
java - Spring boot @RequestBody 与 @Valid- ExceptionHandler 用于 MethodArgumentNotValidException
我想将@Valid 注释与@RequestBody 注释一起使用,并在我自己的用@ExceptionHandler 注释注释的方法中处理错误。我想总是返回 ReponseEntity 的实例。但是当我为 MethodArgumentNotValidException 创建 ExceptionHandler 时,我无法启动我的应用程序。我的控制器如下所示:
我的全局异常处理程序如下所示:
当我启动我的 SpringBoot 应用程序时,我得到了这个:
对于另一种类型的异常,一切正常,但我无法为 MethodArgumentNotValidException 创建 ExceptionHandler。我做错了什么?
winapi - 如何在UnhandledExceptionFilter函数winapi中获取callStack
如何获取导致错误的程序上下文的`callstack(不是未处理的异常调用堆栈)
例如:
java - spring是如何管理ExceptionHandler优先级的?
给这个控制器
两个ExceptionHandler都匹配,IllegalArgumentException
因为它是Exception
类的孩子。
当我到达/test
端点时,该方法handleIllegalException
被调用。如果我抛出 a NullPointerException
,handleException
则调用该方法。
spring如何知道它应该执行handleIllegalException
方法而不是handleException
方法?当多个ExceptionHandler匹配一个 Exception时,它如何管理优先级?
(我认为顺序或ExceptionHandler声明很重要,但即使我handleIllegalException
之前声明handleException
,结果也是一样的)
c# - WebApi v2 ExceptionHandler 不适用于 HttpPost
为什么在调用 HTTP 方法发布时从不调用自定义 ExceptionHandler 而是标准响应
这是我的代码
WebApiConfig.cs
异常处理程序.cs
全球.asax.xs
我的控制器
当我调用 localhost:xxxx/api/v1/g/haha 时的这个响应
但是当我将 HttpPost 更改为 HttpGet 时,它对我有用。
请有人帮助我
对不起我的英语不好
更新
我发现在 localhost 中的测试不起作用但是当部署到 IIS 时它起作用了 非常感谢您的帮助
java - 我们如何将@ExceptionHandler 与 Spring Web Flux 一起使用?
在 Spring Web 中,我们可以使用注解 @ExceptionHandler 来处理控制器的服务器和客户端错误。
我尝试将此注释与 web-flux 控制器一起使用,它仍然对我有用,但经过一番调查,我在这里发现了
Spring Web Reactive 的情况更加复杂。因为反应流是由与执行控制器方法的线程不同的线程评估的,所以异常不会自动传播到控制器线程。这意味着@ExceptionHandler 方法仅适用于直接处理请求的线程中抛出的异常。如果我们想使用@ExceptionHandler 特性,流中抛出的异常必须传播回线程。这似乎有点令人失望,但在撰写本文时 Spring 5 仍未发布,因此错误处理可能仍然会变得更好。
所以我的问题是如何将异常传播回线程。有没有关于使用 @ExceptionHandler 和 Spring web Flux 的好例子或文章?
更新:从spring.io看起来它是受支持的,但仍然缺乏一般的理解
谢谢,
spring-boot - 异常处理程序在 Spring Boot 中不起作用
我正在使用 Spring Boot 2 开发 Rest API,我正在尝试创建一个 ExceptionHandler 但它似乎不起作用。
我有以下@GetMapping 方法:
customerRepository 它是一个扩展 CrudRepository 接口的接口。
customerNotFoundException 的 @ExceptionHandler 如下:
我还将 ResponseEntityExceptionHandler 扩展类注释如下:
问题是,当我调用数据库中不存在的 customerId 的请求时,我不仅收到 CustomerNotFoundException 消息,而且收到很长的堆栈跟踪,例如:
等等...
问题是什么?
谢谢!
ajax - Primefaces ExceptionHandler not working when view expired
My code is set up like https://www.primefaces.org/showcase/ui/misc/exceptionHandler.xhtml (only 1 button for ajax "throw view expired" implemented) and when I press that button, the dialog correctly pops up.
p:ajaxExceptionHandler is registered for 2 types, 1) javax.faces.application.ViewExpiredException, 2) java.lang.Throwable
But when I wait until view actually expires and press the SAME button, no dialog pops up. Browser debug tells me the ajax reponse is:
What can go wrong?
json - 在 RestCoroller 中添加 JSON 消息
我想在 REST 控制器类(方法)上添加 JSON 消息。例如我有删除方法看起来像:
我想返回已删除的消息人(可能是 id 数)。我应该使用 ExceptionHandler 吗?或者我可以使用 exceptionHnadler 来做到这一点吗?
java - 防止 Spring Boot 异常处理程序将我的 JSON 重新格式化为字符串并转义引号
我发现在 Spring Boot 2.0.3 中,传递给异常处理程序并返回到前端的 JSON 错误消息将被格式化为字符串而不是 JSON,并\
在每个双引号之前转义(即,{"foo":"bar"}
将是"{\"foo\":\"bar\"}"
.
具体来说,我有一个将 ajava.util.Map
转换为 JSON 字符串的方法。方法是:
而这个测试:
测试总是通过,即该方法运行良好并且可以将地图转换为正确的 JSON。
现在,如果我直接从某个@RequestMapping
方法返回到 RESTful 端点(从 Postman 测试),则返回的值是 JSON,没有任何引号。
就像是:
将返回:
但是,如果我将格式错误的参数传递给该方法,org.springframework.web.bind.MethodArgumentNotValidException
则会发生异常并被此异常处理程序捕获:
而且,返回的不是 JSON,而是带引号和转义的字符串,例如:
我知道异常被捕获,因为我在日志中看到了这些:
我怎样才能防止这种情况?
处理程序和端点之间是否有一些拦截器?