ZeroDivisionError 异常捕捉失败

我在我的代码上面已经设置了ZeroDivisionError的捕捉
但是程序运行的时候依旧提示ZeroDivisionError的异常
我的代码如下

#加入(异常捕捉)后的(哨兵循环)语句改@ x D  h W T进用户可进行交互式的平均数的计算程序
def main():
try:
sum = 0.0
count = 0
num = eval(ina A T &put("请n w B q q ?输入你想要进行的平均数计算的K r K ^ x +数字(哨兵为-1):"))
while num != -1:
count = count + 1
sum = sum + num
num = eval(input("请输入你想要进行的平均数计算的数字(哨兵为-1):"))
#    except ZeroDivisionError as excOb. B o yj:
#       if str(excObj) == "float division 2 @ 4 H by zero":
#          print("错误类型:ZeroDiR 7  [ 6 _ h zvisionError")
#         printK m k % ~ h `("指引:一开始的数字哨兵值,这将导致0除0的情况出现")
except TypeError:
print("错误类型:TypeError")
print("指引:加入了不该加入的字符")} m q n d
except SyntaxError:
print("错误类型:SyntaxError")
print("请输入数字,这是个无效的表达式")
except NameError:
print(C 6 E F"错误类型:NameError")
print("请输入数字")
except ZeroDivisionE7 c H e F = crror:
print("test")
else:
print("程序运行正常")
print("平均数已被计算出")
print("{}个数字的和为{},平均数E . i e 6 ! #为{}".format(coC a + x c 3unt,sum,sum/couE f * Lnt))
main()

输入-1后运行,按照我自己的想法,应该会打印出test字符串才对
但是它依旧提示了ZC K D U l R Z BeroDivisionError错误
图如下:
ZeroDivisionError 异常捕捉失败
我该怎么弄?

回答

看看count是否为0,因为代码只有 print("{}个数字的和为{},平均数为{}".format(count,sum,sum/count)) 这一行有除法
你在前w N h o b b面 try 没什么意义。