语法
try:
逻辑块
exception Exception as e :
逻辑块出错执行此处代码
else:
try里的逻辑块正常执行的时候执行else里的代码
finally:
不管是否发生异常均执行finally里的代码
主动触发异常
try:
print('raise')
raise Exception('主动出发异常')
except Exception as e:
print(e)
使用raise关键字主动触发异常,然后通过except 进行处理
自定义异常
class son_error(Exception):
def __init__(self,msg):
self.message = msg
def __str__(self):
return self.message
try:
raise son_error('自定义异常')
except Exception as e:
print(e)
自定义的异常类需要继承Exception类
断言:
语法:assert 条件
当执行到assert的时候条件成立什么也不用管,当条件不成立的时候程序直接报错,而不是捕获异常.当不需要进行异常处理的时候使用断言
assert True
print("assert") #result:assert
assert False
print("assert")
#result:assert True
print("assert") #result:assert
assert False
print("assert")
#result:Traceback (most recent call last):
# File "C:/Users/zhangyakang/PycharmProjects/fullstack/class_object/class_object.py", line 433, in <module>
# assert False
#AssertionError