exceptions-example.py

# -*- coding: utf-8 -*-

# @File    : exceptions-example.py
# @Date    : 2018-09-21
# @Author  : Peng Shiyu

# 自定义异常
class MyException(Exception):
    def __init__(self, url, errcode, errmsg):
        self.url = url
        self.errcode = errcode
        self.errmsg = errmsg

    def __str__(self):
        return "<HTTPError for %s: %s %s>" % (
            self.url, self.errcode, self.errmsg
        )

if __name__ == '__main__':
    try:
        raise MyException("www.baidu.com", 404, "not found")
    except MyException as e:
        print(e.url)
        print(e.errcode)
        print(e.errmsg)
        raise  # 重新抛出异常