参考文章:https://www.cnblogs.com/ggzhangxiaochao/p/9002847.html 阅读超过4万了,绝对还是不错的哦!
0、raise语句酷,像极了Java中的throw语句哦,嘿嘿,抛出异常
1、今天心情烦躁,所以要多学习,我一烦躁的时候,就特别想学习,特别想……,这点我跟别人不一样啊
2、raise的作用:显式的抛出异常
3、重要知识点,raise异常后,后面的代码就不执行了,例子中,当count==100时,会抛出ValueError
def printCount(count):
if count == 100:
raise ValueError
print(count)
4、那么raise后面跟的语句,是有限制的哦,可不是随便放一个就行
必须为Error或Exception类的子类,如果你没有这么做,解释器会告诉你的
TypeError: exceptions must derive from BaseException
5、raise后面可以是一个class、也可以是一个对象
def printCount(count):
if count == 100:
raise ValueError #这是class
print(count)
Or
def printCount(count):
if count == 100:
raise ValueError("I am error") #这是ValueError的实例对象
print(count)
6、其中一种捕获异常
def printCount(count):
if count == 100:
raise ValueError("I am error")
print(count)
try:
printCount(100)
except ValueError as e: #e为ValueError对象
print(e)
7、另外一种捕获异常
def printCount(count):
if count == 100:
raise ValueError("I am error")
print(count)
try:
printCount(100)
except ValueError: #注意这里没有as语法
print("我捕获到一个ValueError错误")
8、exceptions模块下有很多可以用的异常,你可以是用dir(exceptions),看一下嘛,我觉得这篇文章,到这里可以了