异常

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.异常类的结构


异常_第1张图片


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

你可能感兴趣的:(异常)