python 异常处理

1. try……except

a = dict(name = 'wang')
b = [1,2,3]
try:                # 尝试着执行try里面的代码
    print(a)
    print(a['age'])
    print(b[100])
except (NameError,) as e:  # 遇到NameError的错误,则抛出(可以将多个错误写在一行,用括号括起来,逗号隔开)
    print(e)
except KeyError as e:     # keyError
    print('key_error',e)
except Exception as e:    # 所有能抛出的异常都可以抛出
    print('未知错误。')
else:
    print('没有错误,才执行此句。可以省略')
finally:
    print('总会执行此句。可以省略')

2. 自定义异常

# 自定义 异常
class NumError(Exception):    # 创建一个异常类,继承自Exception
    def __init__(self,info):
        super().__init__(self)   # 继承父类的方法
        self.info = info
    def __str__(self):       # __str__方法,打印对象即可直接打印返回值
        return self.info

num = [1,2,3,4,5]
try:
    if len(num)<100:
        raise NumError('Length Error')  # 通过raise主动抛出异常
except NumError as e:
    print(e)
posted @ 2019-11-16 17:08  wztshine  阅读(129)  评论(0编辑  收藏  举报