问题标签 [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 - 在启动 Spring Boot 应用程序时获取为 MethodArgumentNotValidException 映射的不明确的 @ExceptionHandler 方法
我已经为我的一个 spring 控制器编写了自定义异常处理程序类,以验证来自请求参数的电子邮件属性是否格式正确。所以创建了一个扩展ResponseEntityExceptionHandler
类的新类并用@ExceptionHandler
.
但是在春季启动应用程序启动期间,我遇到了停止运行我的项目的异常。有人可以帮我解决这个问题吗?
服务器启动期间的异常:
org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]中定义的名称为“handlerExceptionResolver”的bean创建错误:通过工厂方法进行的bean实例化失败;
嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.web.servlet.HandlerExceptionResolver]:工厂方法“handlerExceptionResolver”抛出异常;
嵌套异常是 java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class org.springframework.web.bind.MethodArgumentNotValidException]: {public com.TestVO com.handler.exception.TestExceptionHandler.methodArgumentNotValidException(org.springframework.web.bind .MethodArgumentNotValidException), public final org.springframework.http.ResponseEntity org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler.handleException(java.lang.Exception,org.springframework.web.context.request.WebRequest) 抛出java.lang.异常}
要处理的自定义类MethodArgumentNotValidException
:
java - Spring Boot 2.0.X 属性异常处理程序响应 ascii?
大家,我用的是boot 2.0.x,项目编码和字符集是UTF-8,请求和响应一样,但是当使用bean验证2时,转换错误信息,它显示ascii?1:定义一个bean比如BeanValidation.java:
2:使用全局异常处理程序:
3:定义ValidationMessages.properties:
4:编写控制器来处理请求:
5:通过 Postman 启动应用,请求参数: http://localhost:12345/contextPath/bv2,请求数据:
响应结果:
- 它响应成功,但它自动编码 ascii,所以我的问题是:“defaultMessage”:“邮件地址无效,é\u0082®ä»¶å\u009c°å\u009d\u0080æ\u0097 æ\u0095\u0088!” ,
当我使用简体中文时,它会出现如 ascii 码,如何显示或解码正常如:
谢谢你们!
spring-boot - 如何在 Spring Boot 中以编程方式注册 JSF ExceptionHandlerFactory
我正在使用 Joinfaces 构建一个 JSF + Spring Boot 应用程序,并且 Omnifaces 包含它。
当视图过期并且我导航时,我得到了 ViewExpiredException。当我执行 Ajax 时,页面什么也不做,并且错误显示在控制台中。
是否可以org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory
使用 Spring 以编程方式注册,而无需向我的项目添加 .xml(web、faces-config)?
spring - SpringBoot/Kotlin:Multipart MaxUploadSizeExceededException 处理程序不会触发
请原谅任何可怕的错误,由于项目要求,我在大约一周前完全掌握了 Kotlin 和一些 Spring。我正在尝试创建一个简单的 RESTful API,其端点可以通过 Multipart 接受文件。稍后,API 之外会有一些页面显示 HTML,我为此使用Koreander。据我所见,基于 Java 教程,异常处理应该像这样工作。
但是,对于 API,我为 MaxUploadSizeExceededException 定义的异常处理程序根本不会触发。我的应用程序.kt:
我的控制器:
当我试图通过 curl 发布一个大文件时,我收到一个 JSON 回复:
Tomcat是否有可能不将此异常传递给Spring?如果是的话,我怎么能抓住这个?如果我可以将大小设置为无限制并在上传时检查文件大小,它也可以工作,尽管我需要在服务器开始接收文件之前这样做,并且我假设在我到达/api/convert端点时,为时已晚。
谢谢你的帮助。
java - 无法在异常处理程序中捕获 JsonMappingException
我有一个用Java(spring boot)编写的rest api,我的请求从请求头中获取一个json字符串(不要问为什么这样:),例如{flowerId:123}在我的控制器中,我将字符串映射到对象。所以当用户传入垃圾数据时,例如{flowerId:abc},就会抛出JsonMappingException。我想在我的异常处理程序中处理异常,但无法在我的处理程序中捕获它。我错过了什么?谢谢
请参阅下面的代码。
spring-boot - 有没有办法在Springboot中调用没有@enableWebMvc的异常处理程序方法
使用异常处理程序我想返回新的响应并打破原始处理程序响应。如果从过滤器中抛出 CustomException。
我试过下面的代码,但没有调用处理程序方法。
我想执行处理程序代码并从那里返回响应。并想在chain.doFilter() 之后执行方法代码
ajax - JSF 自定义异常处理程序不适用于 ajax
正如 BalusC 和 A. Tijms 的书“Java EE 8 中 JSF 的权威指南”(以及在 Omnifaces 中类似编码)中所述,我为常规和 ajax 请求中发生的异常构建了以下 CustomException 处理程序。
在 web.xml 我有
对于常规请求,它就像一个魅力。但是,如果 ajax 请求中存在 (Runtime)Exception,我只会收到 java 脚本警报框,指出异步请求没有返回任何内容(在开发模式下)或没有返回任何内容(在生产模式下)。上面的代码完全运行,但是没有显示错误页面。我在 Java 11 下使用 Tomcat 9 和 Mojarra 2.3.8。我做错了什么?
我使用http://balusc.omnifaces.org/2013/01/composite-component-with-multiple-input.html中描述的复合组件进行了测试,其中我在 updateDaysIfNecessary 方法中抛出了 IllegalStateException,该方法是通过更改月份来触发的相应的下拉框。
ruby-on-rails - 更改 exception_handler gem 表的架构
我已经安装了exception_handler gem并将异常存储在errors
表中。
我正在尝试向此表添加其他信息。但是,此表是在exception_handler
迁移而不是我的应用程序中创建的。exception_handler
迁移在我的迁移之后运行,因此当我尝试修改表时,该表不存在。
如何向此errors
表添加其他信息?
java - 如何忽略依赖项中的@ExceptionHandler?
我在尝试在我的一个方法中返回“ ResponseEntity ”时遇到问题,该方法位于自定义异常处理程序中(用@ExceptionHandler和@ControllerAdvice注释),我从“doOnError”(rxjava)调用此方法,但我的问题是,当我这样做时,不仅调用了我的方法,还调用了@ControllerAdvice注释类中的另一个@ExceptionHandler,但是这个类不在我的项目中,在我的依赖项之一中。所以,到澄清我的问题:
我正在尝试处理返回 ResponseEntity 的项目中的每个异常,但是当我在@ControllerAdvice内的@ExceptionHandler上执行此操作时,位于我的依赖项中的另一个异常在我的自定义项之后被调用,因此我的响应实体构建,永远不会返回,它只是返回由依赖创建的@ExceptionHandler。
我的问题是,有没有办法避免调用依赖异常处理程序?
备注:
- @ExceptionHandler用于异常处理程序类中的方法,最后一个用 @ControllerAdvice注释。
- 我已经尝试使用 Order 和 Priority 注释,但它们对我不起作用。
spring-cloud-sleuth - 带有 ControllerAdvice 的 Sleuth/zipkin 不起作用
我发现有一个老问题Sleuth/Zipkin tracking with @ControllerAdvice,但是我在最新版本(spring-cloud-starter-zipkin:2.1.0.RELEASE)遇到了同样的问题,我调试它并发现错误是null,所以 zipkin 只是猜测状态码。我必须再次抛出异常以使 zipkin 通知异常