处理方法返回的异常

时间:2019-03-30 13:07:08

标签: python-3.x

我正在调用一个引发Valuerror异常或以字符串形式返回有效响应的方法。如果是例外,我将无法处理。如果返回的是有效字符串,则应该将其切成薄片并用它做其他事情。

x = sanitize("245755487")

try:
   print(data = x[:3])

except:
    print(x)



def sanitize(self,tel):
   data = [d for d in tel if d.isalnum()]   
   digits = int(len(data))   
   if digits < 10:
      raise ValueError("The digit cannot be below 10")
   else:
      "".join(data)

如果x是可订阅的,我应该将字符串切成薄片。

1 个答案:

答案 0 :(得分:1)

您需要在try块中放置要清除方法的调用,因为清除是引发异常的方法。将其放在try块之外没有任何意义。您应该在除外块而不是print(x)中处理错误。

try:
   x = sanitize("245755487")
   print(data = x[:3])

except ValueError as err:
   print(err);
   #<what would you like to do if there is an error?>