我在python中有一个函数,可以对字符串进行错误检查。如果函数发现错误,它将返回一个元组,其中包含错误代码和该错误的标识符。在程序的后面,我具有处理错误的功能。它接受元组成两个变量。
errCode, i = check_string(s,pathType)
check_string是产生元组的函数。如果没有错误,我要返回的只是零。当返回零时,上面的代码似乎失败了,因为变量i没有任何内容。
有没有一种简单的方法可以使它正常工作,或者如果没有发现错误,我是否只需要让程序返回元组0和0?
最佳答案
我将为此使用异常系统。
class StringError(Exception):
NO_E = 0
HAS_Z = 1
def string_checker(string):
if 'e' not in string:
raise StringError('e not found in string', StringError.NO_E)
if 'z' in string:
raise StringError('z not allowed in string', StringError.HAS_Z)
return string.upper()
s = 'testing'
try:
ret = string_checker(s)
print 'String was okay:', ret
except StringError as e:
print 'String not okay with an error code of', e.args[1]