python异常之抛出异常的用法

try…except

try:
    (1,2)[0]=11
except TypeError as e:
    print("ERROR:",e)   # ERROR: 'tuple' object does not support item assignment
else:
    print("No ERROR!")  # 如果没有异常发生,就执行。

result:
ERROR: 'tuple' object does not support item assignment
try:
    (1,2)[0]=0
except:
    print("GOD, A ERROR!")
else:
    print("No ERROR!")  # 如果没有异常发生,就执行。

result:
GOD, A ERROR!
try:
    (1,2)[0]=0
except(TypeError,IndexError):   # 发生多个异常中的一个,才执行这块代码,出现的错误类型不在括号内,无法捕获!
    print("GOD, A TypeError or IndexError!")
else:
    print("No ERROR!")  # 如果没有异常发生,就执行。

result:
GOD, A ERROR!

raise

try:
    raise TypeError("A TypeError!")     # 主动触发异常
except(TypeError):   # 发生多个异常中的一个,才执行这块代码,出现的错误类型不在括号内,无法捕获!
    print("GOD, A TypeError!")
finally:
    print("Must Execute!")

result:
GOD, A TypeError!
Must Execute!

自定义一个异常类

class BiBiException(Exception):
    def __init__(self,message):
        Exception.__init__(self)
        self.message=message

try:
    raise BiBiException("A BiBiException!")     # 主动触发异常
except:
    print("GOD, A BiBiException!")

result:
GOD, A BiBiException!

你可能感兴趣的:(【Python】)