如何编写带有错误代码和错误消息的自定义Python异常?

我们可以编写带有错误代码和错误消息的自定义异常类,如下所示:

class ErrorCode(Exception):
    def __init__(self, code):
        self.code = code
   
try:
    raise ErrorCode(401)
except ErrorCode as e:
    print "收到的错误代码:", e.code

我们得到输出

C:/Users/nhooo1/~.py
收到的错误代码: 401

我们还可以编写带有参数,错误代码和错误消息的自定义异常,如下所示:

class ErrorArgs(Exception):
    def __init__(self, *args):
        self.args = [a for a in args]
try:
    raise ErrorArgs(403, "foo", "bar")
except ErrorArgs as e:
    print "%d: %s , %s" % (e.args[0], e.args[1], e.args[2])

我们得到以下输出

C:/Users/nhooo1/~.py
403: foo , bar