使用列表处理IndexError异常

时间:2016-01-25 17:50:25

标签: python python-3.x

我目前正在学习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

你们其中一个人能否就这个问题给我启发?

提前致谢!

1 个答案:

答案 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__