嗨,我最近开始用 python 编码,我想知道如何处理错误。我做了教程diveintopython,在那里他使用raise error来反馈出了什么问题。这是我的情况:我有一个函数可以检查代表数字的字符串是否为 7 位或 8 位长以及其他一些东西
def checkNumber( someNumber ):
''' checks if Number is valid '''
someNumber = str(someNumber);
if not 6 < len(someNumber) < 9:
raise ValueError('number must be either 7 or 8')
if not re.search('^[0-9]{7,8}$', someNumber):
raise ValueError('only digits from 0...9')
sum = 0
if len(pzn) == 7: someNumber = '0' + someNumber
for n, a in list(enumerate(someNumber[:-1], start=1)):
sum += int(a)*n
if someNumber[-1]==str(sum%11):
return someNumber
else:
raise ValueError('not a vaild code')
我单独使用这个函数,但我也会从另一个函数调用它,它扫描条形码并调用这个函数来验证代码。因此,如果扫描编号正确,则应继续扫描,否则应继续扫描。像我一样做它并在扫描仪功能中放置一个 try/except 块会更好还是我应该返回一个 False
非常感谢