我正在调用一个引发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是可订阅的,我应该将字符串切成薄片。
答案 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?>