spring全局异常处理及try、catch、finally、throw

本文介绍了JAVA的异常处理机制,包括try、catch、finally、throw、throws的使用,并详细阐述了Spring如何利用@ControllerAdvice和@ExceptionHandler进行全局异常处理。特别指出,为了处理404异常,需要配置DispatcherServlet的throwExceptionIfNoHandlerFound属性,对于SSM和SpringBoot项目有不同的配置方法。
摘要由CSDN通过智能技术生成

JAVA异常处理

异常处理机制是保证异常处理完毕后,程序能够继续运行程序并返回数据
java的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws。throw 是直接抛出一个异常;throws声明方法可能会出现异常,表示如果抛出异常,则由该方法的调用者来进行异常处理。

try-catch-finally结构中try块是必须有的,catch和finally块为可选,但两者至少必须出现其中之一。finally是程序一定会执行的代码,在任何执行try或者catch中的return语句之前,都会先执行finally语句,如果finally中有reture程序就直接返回了,不再执行try或catch中的return语句。

spring可通过@ControllerAdvice + @ExceptionHandle 注解处理全局异常

spring全局异常处理的一种方式


@ControllerAdvice
@ResponseBody
public class RestExceptionHandler {

	private static Logger logger = LogManager.getLogger(RestExceptionHandler.class.getName());

	/**
	 * 运行时异常
	 * @param e
	 * @return
	 */
	@ExceptionHandler({ RuntimeException.class, ConversionNotSupportedException.class,
			HttpMessageNotWritableException.class})
		public ResultMap runtimeExc
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值