人狠话不多的张老师说:其他的莫管,先上代码:
#1 python内置异常
#2 主动抛出异常
一 捕获异常try…except
try:
'we should do something'
except IOError:
print('IO错误')
'没有异常时忽略except语句块'
else:
'try语句块执行没有异常时,走else语句块'
finally:
'无论是否有异常都会执行的语句块'
二 抛出异常 raise
x = 10
if x > 5:
raise Exception('x不能大于5')
# Traceback (most recent call last):
# File "E:/00_Project/slnb-test/slnb_rf_test/tools/test.py", line 3, in <module>
# raise Exception('x不能大于5')
# Exception: x不能大于5
三 断言 assert
x = 10
assert x == 5
#Traceback (most recent call last):
# File "E:/00_Project/tools/test.py", line 3, in <module>
# assert x == 5
#AssertionError
四 自定义异常
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
try:
raise MyError(2**3)
except MyError as e:
print(f'my error occured, value is {e.value}')
# my error occured, value is 8