Python-学习之路-10 异常的处理

2019-02-21  本文已影响0人  末世狂人

异常

异常分类

异常处理

# 异常捕获
try:
    num = int(input("请输入一个数:"))
    rst = 100/num
    print("计算结果是{0}".format(rst))
#越具体的错误 越往前放
except ZeroDivisionError as e:
    print("除数不能为0")
    print(e)
except(NameError,AttributeError):
    print("要么名字有问题,要么属性有问题,你检查下呗")
    
#所有的异常都继承自Exception 如果上面的异常捕获没有捕获到的话,这里将会进行捕获
except Exception as e:
    print("反正是出错了,但是我也不知道是什么错")
else:
    print("你的代码正确了!没有错误哦!")
finally:
    print("代码结束了!game over")
请输入一个数:1
计算结果是100.0
你的代码正确了!没有错误哦!
代码结束了!game over

手动引发异常

自定义异常

#自定义异常
class TestError(ValueError):
    pass

try:
    print("my name is tom")
    raise TestError

# 如果这里不对testError进行捕获的话,那么valueError将对错误进行捕获,因为testerror的父类是valueError
except TestError as e:
    print("testError")
except ValueError as e:
    print("value error")
    
my name is tom
testError
上一篇下一篇

猜你喜欢

热点阅读