相关文章推荐

java.lang.IllegalStateException:

Ambiguous

@ExceptionHandler method mapped for [class org.springframework.web.bind.MethodArgumentNotValidException]:

{public com.book.springtest.exception.AjaxResponse com.book.springtest.exception.WebExceptionHandler.

handleILLegalException(java.lang.IllegalArgumentException),

public com.book.springtest.exception.AjaxResponse com.book.springtest.exception.WebExceptionHandler.

handleValidException(org.springframework.web.bind.MethodArgumentNotValidException)}

处理IllegalArgumentException异常。
@ExceptionHandler(MethodArgumentNotValidException.class)
	@ResponseBody
	public AjaxResponse handleILLegalException(IllegalArgumentException e) {
		return AjaxResponse.error(
                CommonExceptionType.USER_INPUT_ERROR,
                e.getMessage());
	@ExceptionHandler(MethodArgumentNotValidException.class)
	@ResponseBody
	public AjaxResponse handleValidException(
        MethodArgumentNotValidException e) {
		FieldError fieldError = e.getBindingResult().getFieldError();
		return AjaxResponse.error(
                CommonExceptionType.USER_INPUT_ERROR, 
                fieldError.getDefaultMessage());
				
SpringBoot项目(18)—处理异常之@ExceptionHandler注解 处理异常的ExceptionHandler必须要和出现异常的方法在同一个Controller下才可以 没有很好的复用性,代码冗余 1.在能产生异常的方法所在的controller类中,添加处理异常的方法 处理异常的方法用@ExceptionHandler注解,并且返回值不能是String,必须是ModelAndView @ExceptionHandler注解可以指定多个异常的类型,通过value来进行指定,注意是.class
@ControllerAdvice publicclassGlobalExceptionHandler{ privatestaticfinalLoggerlogger=LoggerFactory.getLogger(GlobalExceptionHandler.class); *处理自定义的业务异常 *@paramreq *@parame *@return @ExceptionHandler(...
第一种,直接在Controller层写@ExceptionHandler注解,对于指定异常,可以处理并返回一个视图或者body: @Controller public class HelloWorld { @RequestMapping("test") public String test(int flag) throws FileNotFoundException { if (1 == flag) { throw new FileNotFoundE
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annota... @ExceptionHandler() public String handleExeption2(Exception ex) { System.out.println("抛异常了:" + ex); ex.printStackTrace(); String resultStr = "异常:默认"; return resultStr; 当我们使用这
前几节小博老师给大家介绍了SpringMVC异常处理两种方法,今天继续介绍使用注解方式进行异常处理的方式@ExceptionHandler。 @ExceptionHandler只有一个参数value,指定需要处理的异常类型 。是一个数组类型。如: @ExceptionHandler(value={NullPointerException.class,IllegalArgumentExceptio
AOP思想:通过@ControllerAdvice指定拦截哪个Controller,然后通过@ExceptionHandler指定要拦截的异常类型,在方法里面做拦截之后的处理。 @RestControllerAdvice = @ResponseBody + @ControllerAdvice = @ResponseBody + @Component @Slf4j // 指定要拦截的Controller @RestControllerAdvice(basePackages = "com.atguigu.gu
SpringMVC重要注解@ExceptionHandler,只能在当前Controller中处理异常。但当配合@ControllerAdvice一起使用的时候,就可以摆脱那个限制了。 package com.somnus.advice; import org.springframework.web.bind.annotation.ControllerAdvice; import org.s...
对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。 如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化... JSR303 是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些 注解加在我们JavaBean的属性上面(面向注解编程的时代),就可以在需要校验的时候进行校验了, 在SpringBoot中已经包含在starter import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; import org.springframework.validation.BindException; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError;
我这个项目比较老,用的 spring 版本是 spring3的。。。 springMVC没有 做 异常的拦截,,,所以我就用了 @exceptionhandler 拦截一下 异常。。。 可是发现没有起作用。。。根本没有进入这个 方法里面。。。 怎么回事?? 随便百度一下,,,也没有发现什么解...
@ExceptionHandlerSpring框架中的一个注解,用于处理全局异常。当应用程序中发生异常时,@ExceptionHandler注解可以捕获并处理这些异常,以便提供自定义的错误处理逻辑。 使用@ExceptionHandler注解的步骤如下: 1. 在控制器类中定义一个带有@ExceptionHandler注解的方法,用于处理特定类型的异常。该方法可以有多个参数,其中第一个参数是异常类型,后面可以跟随其他参数,如HttpServletRequest或HttpServletResponse等。 2. 在@ExceptionHandler注解中指定处理的异常类型。可以使用value属性指定单个异常类型,也可以使用多个value属性指定多个异常类型。 3. 在处理方法中编写自定义的错误处理逻辑。可以根据需要进行日志记录、返回自定义错误信息或执行其他操作。 以下是一个使用@ExceptionHandler注解的示例: ```java @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(value = {Exception.class}) public ResponseEntity<String> handleException(Exception ex) { // 自定义错误处理逻辑 String errorMessage = "An error occurred: " + ex.getMessage(); return new ResponseEntity<>(errorMessage, HttpStatus.INTERNAL_SERVER_ERROR); 在上面的示例中,`handleException`方法使用`@ExceptionHandler`注解来处理`Exception`类型的异常。当应用程序中发生`Exception`类型的异常时,该方法会被调用,并返回一个包含自定义错误信息的`ResponseEntity`对象。
 
推荐文章