我目前正在学习Python,我有这个练习,你必须处理异常。这个目标的目标是当给定键的值不在列表" self.data"的范围内时抛出异常。
这是我应该在我的函数中输入来测试它:
v = Vecteur(-9, -6, 2, 3, -2)
v[-1]
现在我应该得到 IndexError
class Vecteur:
def __init__(self, *valeurs):
self.data = list(valeurs)
def __getitem__(self,key):
try:
erreur = self.data[key]
except IndexError:
print('indice invalide pour ce vecteur')
return self.data[key]
def __setitem__(self,key,item):
self.data[key] = item
你们其中一个人能否就这个问题给我启发?
提前致谢!
答案 0 :(得分:3)
您的问题源于您正在捕获IndexError,然后rsvg-convert
,并让执行失败。
我这样做:
print
顺便说一句,class Vecteur:
def __init__(self, *valeurs):
self.data = list(valeurs)
def __getitem__(self,key):
try:
return self.data[key]
except IndexError:
raise IndexError('indice invalide pour ce vecteur')
def __setitem__(self,key,item):
self.data[key] = item
是一个有效的索引。因此,您可能想要更改-1
:
__getitem__