简单的Python问:idk在执行此代码时产生无效的内容

时间:2017-05-11 23:16:01

标签: python try-catch except

我只是通过阅读一本书来学习Python,下面的代码用于显示try和except命令。那些是有道理的,但我的问题是关于输出。执行后,在垃圾邮件(0)产生错误后,在下一行显示“无”,然后是“42”。“无”来自何处?

def spam(divideBy):
    try:
        return 42 / divideBy
    except ZeroDivisionError:
        print('Error')

print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))

1 个答案:

答案 0 :(得分:2)

在Python中,没有return语句的函数返回None。因此捕获异常并返回函数,然后执行下一行。

如果except块再次引发异常,那么函数将不会返回,而是会抛出异常。