Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

est-il possible de lever une exception dans une property ?

+2 votes

pour un getter

demandé 7-Fev-2015 par juke (318 points)
edité 7-Fev-2015 par juke

Ce serait fort étonnant, d'autant plus que je ne comprends pas pourquoi tu souhaites faire cela. Aurais-tu un exemple d'application ?

Apparemment c'est possible. En quoi serait-ce étrange ?

En effet oui, pardon.

2 Réponses

+7 votes
 
Meilleure réponse
In [1]: class Test:
   ...:     @property
   ...:     def test(self):
   ...:         raise Exception("Bouh!")
   ...:

In [2]: t = Test()

In [3]: t.test
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-3-f69a6e70fa4a> in <module>()
----> 1 t.test

<ipython-input-1-958b9edbdc91> in test(self)
      2     @property
      3     def test(self):
----> 4         raise Exception("Bouh!")
      5

Exception: Bouh!

In [4]:

La réponse est donc oui.

répondu 7-Fev-2015 par debnet (1,024 points)
edité 7-Fev-2015 par debnet

effectivement la leve aussi quand je fais t.test

Oh, j'utilise une property mais j'appelle encore la méthode derrière. Au temps pour moi.

0 votes

Apparemment oui.

répondu 7-Fev-2015 par Vayel (1,050 points)

je parlais pour un getter, j'ai modifié la question.

...