手工抛出异常
1、使用raise引发异常十分简单,raise有以下几种使用方式
raise 异常名
raise 异常名,附加数据
raise 类名
def testRaise2():
for i in range(5):
try:
if i==2:
raise NameError
except NameError:
print('Raise a NameError')
print(i)
print('end................')
testRaise2()
2、assert语句的一般形式
assert<条件测试>,<异常附加数据>
assert语句是简化的raise语句,他引发异常的前提是其后面的条件测试为假
def testAsset():
for i in range(3):
try:
assert i<2
except AssertionError:
print('Raise a AssertionError!')
print(i)
print('end......')
testAsset()
3、自定义异常类
class RangeError(Exception):
def __init__(self,value):
self.value=value
def __str__(self):
return self.value
raise RangeError('Range Error')