主动抛出异常
try:
a = 1
if a == 1:
raise IndexError("除数不能为1")
else:
print(10/a)
except IndexError as e:
print(e)
自定义异常
# 自定义异常
class MyException(Exception):
# 此处传入msg为抛出的异常信息
def __init__(self,msg):
super().__init__()
self.msg = msg
#
def __str__(self):
return self.msg
#
def handle(self):
print("hello")
try:
raise MyException("hello,这是我自定义的异常")
except Exception as e:
print(e)
print(type(e))
e.handle()
断言
# 断言
# assert: 预测
def fn2(a, b):
# 预测b!=0,如果预测成功则执行后面的代码,如果预测失败,则抛出异常AssertionError,且异常信息为"b等于0"
assert b!=0, "b等于0"
print(a / b)
# 如果b==0 则会抛出异常信息b等于0