python程序出错怎么处理
python在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。
用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错:
deffoo():
r=some_function()
ifr==(-1):
return(-1)
#dosomething
returnr
defbar():
r=foo()
ifr==(-1):
print('Error')
else:
pass
一旦出错,还要一级一级上报,直到某个函数可以处理该错误(比如,给用户输出一个错误信息)。
所以高级语言通常都内置了一套try...except...finally...的错误处理机制,Python也不例外。
try
让我们用一个例子来看看try的机制:
try:
print('try...')
r=10/0
print('result:',r)
exceptZeroDivisionErrorase:
print('except:',e)
finally:
print('finally...')
print('END')
当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。
上面的代码在计算10/0时会产生一个除法运算错误:
try...
except:divisionbyzero
finally...
END
从输出可以看到,当错误发生时,后续语句print('result:',r)不会被执行,except由于捕获到ZeroDivisionError,因此被执行。最后,finally语句被执行。然后,程序继续按照流程往下走。
以上内容为大家介绍了python培训之程序出错怎么处理,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python字符串字面量是什么
1、Python使用单引号(')、双引号(')、三重单引号('''')和三重双引号(""")来表示字符串字面量。2、字符串字面量需要使...详情>>
2023-11-07 21:15:00python详细分析Python中运算符"=="和"is"的差别
在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、pythontype()(数据类型)和value(值)。is...详情>>
2023-11-07 20:00:00pythonreturn用在哪里
return语句是python语言中函数返回的一个值,每个函数都应该有一个返回值,其中,return返回值可以是一个数值,一个字符串,一个布尔值,一个列...详情>>
2023-11-07 09:08:38python如何运行函数
运行Python的函数,只需要调用函数名,在传递参数就可以,不必关心函数体内部的代码块。函数是带名字的代码块,用于完成具体的工作需要在程序中...详情>>
2023-11-07 05:59:02