在程式設計中,
多少都會遇到錯誤,
這些錯誤發生的時候要做何種應對,
就得靠今天的主題:
Python 例外處理 Exception Handling
此處以 try ... exception .... 為範例來說明。
try:
tmpuser = User.objects.get(username=username)
if tmpuser.is_active:
messages.add_message(request, messages.ERROR, '密碼錯誤')
else:
messages.add_message(request, messages.ERROR, '帳號未啟用,請至註冊信箱收取認證信')
return redirect('Login')
except User.DoesNotExist:
messages.add_message(request, messages.ERROR, '無此帳號')
return redirect('Login')
try:
tmpuser = User.objects.get(username=username)
if tmpuser.is_active:
messages.add_message(request, messages.ERROR, '密碼錯誤')
else:
messages.add_message(request, messages.ERROR, '帳號未啟用,請至註冊信箱收取認證信')
return redirect('Login')
except User.DoesNotExist:
messages.add_message(request, messages.ERROR, '無此帳號')
finally:
messages.add_message(request, messages.ERROR, '釋放資源')
return redirect('Home')
除了上述官方文件的 Built-in exceptions 之外,
也能夠自訂例外物件,
自訂的物件必須要繼承自Exception類別,
不過這屬於較為進階的用法,
在此處入門的教學就不多談論,
有機會的話再另行介紹。
































