什么是异常:
不是程序正常执行流程的事件称之为异常.
异常处理的几种方式:
1,异常都是由异常处理器进行处理的.异常处理器分为默认的异常处理器,以及自定义的异常处理器。
2,如果异常触发,默认的异常处理器会进行堆栈追踪,找到异常情况发生的运行行以及函数清单,并且打印出出错信息.
3,自定义异常处理器是有定义的代码进行触发.
捕获异常:
try-except 不仅捕获异常,还会从中恢复执行
引发异常:
raise 引发异常 我们故意触发的异常
自定义异常:
继承 Exception
终止行为:
try-finally 无论有没有异常都会进行执行下去
from rest_framework.exceptions import APIException
from rest_framework.status import HTTP_400_BAD_REQUEST
class AntillesBaseException(APIException):
status_code = HTTP_400_BAD_REQUEST
# 定义 异常信息
message = 'Antilles api error'
errid = 1000
def __init__(self, msg=None):
super(AntillesBaseException, self).__init__(msg)
self.detail = {
'msg': (msg or self.message),
'errid': str(self.errid)
}
# 构造 异常信息!
def __str__(self):
return '{}: error_id {}, "{}"'.format(
self.__class__.__name__,
self.detail.get('errid', None),
self.detail.get('msg', None),
)
def teat():