Django 開發自定義丟擲異常的三種方法

2021-09-05 08:56:34 字數 1104 閱讀 4618

在開發過程中,針對使用者輸入的不合法資訊,我們應該在後端進行資料驗證,並丟擲相關的異常傳遞到前端來提示使用者。

可是如何進行自定義丟擲異常資訊呢?通常處理方法有三種,我將依次介紹這三種方法。

第一種方法:

這種方法最為簡單,只需要建立乙個字典物件,通過render傳到前端即可。

字典物件如下:

result =

render(request, '***.html', result:result)

第二種方法:

需要繼承exception類, **如下:

# 利用繼承自定義異常提示資訊

class myexception(exception):

def __init__(self, code, error, data):

self.code = code

self.error = error

self.data = data

try:

if not 1 < 0:

raise myexception(1001, '你的說法錯誤', '1不小於0')

except myexception as e:

pass

第三種方法:

自定義乙個繼承 object 的類

class mytest(object):

def __init__(self):

# 自定義狀態碼

self.code = 1000

self.error = ''

self.data = ''

@property

def dict(self):

return self.__dict__

在你需要自定義異常的時候,建立乙個物件,並制定相關資訊。

# 建立例項物件

one = mytest()

one.code = 1001

one.error = '你錯了'

one.data = '請再次檢查'

print(one.dict)

綜上所述是筆者常用來在後端檢驗資料並丟擲相關異常資訊的三種方法。

丟擲異常 自定義異常

1 try catch try catch是這之間所包含的 如果出現異常時捕獲他,並進行處理的,如果 之間有錯誤,不會影響程式繼續執行下去,程式會繼續往後執行。2 throw 是在程式中明確丟擲引發的異常,比如throw new exception 3 finally 不管有沒有異常程式段中都會被執...

如何丟擲異常,自定義異常

定義乙個方法,丟擲 陣列越界和算術異常 多個異常 用 隔開 public void test1 int x throws arrayindexoutofbound ception,arithmeticexception 資料越界異常 else if x 1 算術異常 else if x 2 publ...

自定義 ZuulFilter丟擲異常

前提 專案中統一使用 httpresponsecode 來作為服務正常的返回,body 中放具體返回的內容.如果丟擲異常的情況下,期望 code 是4xx,body 中存放錯誤資訊給使用者友好提示 但是,在springcloud 中預設的異常丟擲是乙個包含五個欄位的物件.如下 我們需要的是這樣一種情...