暢購04 統一異常處理及其原理

2021-10-01 14:29:23 字數 914 閱讀 8879

@controlleradvice

public

class

baseexceptionhandler

}

其實這段**的原理只要認真學過springaop的同學就能輕易理解,而這也正是springaop的典型應用場景之一,基於aop,我們也可以自己動手實現乙個簡易版的統一異常處理

@aspect

@component

public

class

easyexceptionhandler

/** * 後置異常通知

* 定義乙個名字,該名字用於匹配通知實現方法的乙個引數名,當目標方法丟擲異常返回後,將把目標方法丟擲的異常傳給通知方法;

* throwing:限定了只有目標方法丟擲的異常與通知方法相應引數異常型別時才能執行後置異常通知,否則不執行,

* 對於throwing對應的通知方法引數為throwable型別將匹配任何異常。

* @param joinpoint

* @param exception

*/@afterthrowing

(value =

"exceptionhandler()"

,throwing =

"exception"

)public

void

doafterthrowingadvice

(joinpoint joinpoint, throwable exception)

}

@bean

public baseexceptionhandler baseexceptionhandler()

統一異常處理

為什麼需要做統一異常處理 因為如果不做統一處理,返回與前端的資料會非常亂,前端不好處理 並且不做統一處理,controller層就要寫很多的重複 統一格式 實現步驟 新建result物件 也就是請求返回的整體物件,包括code,msg,data public class result public ...

統一異常處理

1,建立統一異常處理類package com.xindong.common.handler 統一異常處理類 controlleradvice public class globalexceptionhandler exceptionhandler badsqlgrammarexception.cla...

統一異常處理

controlleradvice 用於捕獲全域性異常 exceptionhandler 傳入指定異常類 controlleradvice public class globalexceptionhandler 指定什麼異常執行該方法 exception 所有異常 exceptionhandler a...