1.raise语句抛出异常
2.aseert语句
3.自定义异常
def testRaise():
for i in range(5):
if i==2:
raise NameError #手工抛出异常
#print('hello')
print(i)
print('end.......')
testRaise()
注意:手工抛出的异常如果不捕获,同样会中断程序运行。
捕获手工抛出的异常:
def testRaise():
for i in range(5):
try:
if i==2:
raise NameError
#print('hello')
except NameError:
print('Raise a NameError!')
print(i)
print('end.......')
testRaise()
手工抛出异常之 ---assert抛出异常:
def testAssert():
for i in range(3):
try:
assert i<2 #当i<2不成立时,就会抛出异常
except AssertionError:
print('Raise a AssertionError!')
print(i)
print('end.......')
testAssert()
自定义一个异常并抛出自定义异常:
class RangeError(Exception):
def __init__(self,value):
self.value=value #value是异常发生时的信息
def __str__(self): #返回异常发生时的信息的字符串
return self.value
raise RangeError('RangeError')