引发错误与返回错误python3

2024-04-19 21:45:31 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我最近开始用python编写代码,我想知道如何处理错误。 我做了python的教程,在那里他使用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')

我独立使用这个函数,但我也将从另一个函数调用它,该函数扫描条形码并调用这个函数来验证代码。所以如果扫描号是正确的,它应该继续,如果不是,它应该继续扫描。 像我这样做并在scanner函数中放置try/except块更好吗?还是应该返回False

非常感谢


Tags: 函数代码lenif错误not教程error