Exercices POO Property avec exception personnalisee
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Property avec exception personnalisee

On va combiner ce qu'on a appris : properties avec validation et exceptions personnalisees. C'est comme ca qu'on code dans la vraie vie.

Écris une exception AgeInvalideError qui herite de ValueError et stocke la valeur invalide. Son __str__ renvoie 'Age invalide : X (doit etre entre 0 et 150)'.

Puis ecris une classe Personne avec :
un __init__ qui prend nom et age
une property nom en lecture seule
une property age avec un setter qui leve AgeInvalideError si age n'est pas entre 0 et 150
un __str__ qui renvoie 'Personne(nom, age)'

Exemple :
p = Personne('Alice', 30)
p.age = 25 fonctionne
p.age = -5 leve AgeInvalideError

Tests (3/5)

Création valide
p = Personne('Alice', 30)
assert p.nom == 'Alice'
assert p.age == 30
Modification age
p = Personne('Bob', 20)
p.age = 25
assert p.age == 25
Age negatif
try:
    Personne('X', -1)
    assert False
except AgeInvalideError as e:
    assert e.valeur == -1

+ 0 tests cachés

Indices (3 disponibles)

solution.py