Python之raise

参考文章: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),看一下嘛,我觉得这篇文章,到这里可以了

上一篇:python – “必须在Panda中显式设置引擎,如果没有传递缓冲区或路径为io”


下一篇:Python基础第8课-错误(异常)处理: