有时一些程序即便语法合规,但在执行过程中也会出现错误,比如下面这个例子
def spam(divideBy):
return 10/divideBy
print(spam(10))
print(spam(20))
print(spam(0))
print(spam(1))
执行结果为

程序在执行到print(spam(0))时出现错误,因为除数不能为0,并且 后续的内容也未执行
设想如果一个程序比较大,我希望即便出现这种错误后,只需要告诉我有错误出现,但不希望影响后续内容的执行
这时候就可以用到 try和 except的函数组合
比如上面的例子,我不确定 spam是否会出错,可以这样改
def spam(divideBy):
try:
return 10/divideBy
except:
print("Error: Invalid divideBy")
print(spam(10))
print(spam(20))
print(spam(0))
print(spam(1))

只是在子函数中增加了 try、except,同样的调用方式,这次程序在执行过程中,虽然依旧出错,但并没有停下来,只是打印的ERROR信息,并继续执行后续内容
值得注意的是,如果如果try中的内容发生错误,会直接跳到except
def spam(divideBy):
return 10/divideBy
try:
print(spam(10))
print(spam(20))
print(spam(0))
print(spam(1))
except:
rint("Error: Invalid divideBy")

print(spam(0))后面的内容并没有执行,而是直接跳到except
文章讨论了即使程序语法正确,也可能在执行时遇到错误的情况,例如除数为零的错误。通过引入try和except结构,程序员可以捕获并处理这些异常,防止程序中断,并允许后续代码继续执行。示例展示了如何在函数中和主程序中使用try-except来优雅地处理错误,确保程序的健壮性。

被折叠的 条评论
为什么被折叠?



