异常

作者: 苏柏娜 | 来源:发表于2016-11-17 13:45 被阅读10次

    1.基本结构

    a.try-except

    ------------------

    try:

    try_suite

    except Exception[,reason]:

    except_suite

    b.try-finally

    c.try-except-finally

    2.带有多个except的try语句

    try:

        try_suite

    except Exception1[,reason1]:

        suite_for_exception1

    except Exception2[,reason2]:

        suite_for_exception2

    3.处理多个异常的except语句

    一个except处理多个异常时,要将异常放在一个元组中

    except (Exception1,Exception2)[,reason]:

        suite_for_Exception1_and_Exception2

    4.异常类的结构

    5.异常参数

    捕获异常时,当异常发生会自动产生一个异常类的实例,该实例保存了一些异常信息,通过打印异常或str(reason),查看异常信息

    try:

       try_suite

    except Exception,e:

    print e #print str(e)

    6.else语句

    当所有的try语句的内容执行成功后,才会去执行else语句,否则不执行

    try:

    float("abc")

    except (ValueError,TypeError):

    print "argument of float must be a number or numeric string"

    else:

    print "success"

    7.finally语句

    try-finally,

    try-except-finally

    try-except-else-finally,可以有多个except

    try:

       A

    except MyException:

       B

    else:

       C

    finally:

    D

    8.raise主动抛出异常

    raise Exception 抛出异常然后放在try-except中进行捕获

    raise Exception,args:提供异常参数

    raise string直接抛出字符串信息到屏幕

    taise string:提供异常参数

    一旦raise出异常,raise后面的语句将不会被执行

    9.断言

    assert expr[,args]------------assert 1==0,"One does not equal zero"

    断言的内部实现:

    def assert(expr,args=None):

        if __debug__ and not qxpr:

            raise AssertionError,args

    相关文章

      网友评论

          本文标题:异常

          本文链接:https://www.haomeiwen.com/subject/etrdpttx.html