Anatoscope / sofa

Real-time multi-physics simulation with an emphasis on medical simulation.
https://www.sofa-framework.org
2 stars 1 forks source link

faire remonter les erreurs de désérialisation #20

Closed matthieu-nesme closed 7 years ago

matthieu-nesme commented 7 years ago

pour identifier quelle Data génère l'erreur. avec std::ios::failbit


Suggested labels:

thomas-lemaire commented 7 years ago

dans ce cas, on ne veut pas stopper le chargement de la scene, simplement afficher un WARNING (système de log) à l'utilisateur

si on "refait tout", peut être oui on pourra choisir des exceptions, afin de choisir comment les traiter : warning utilisateur dans runSofa pour la mise au point, erreur dans une appli, un test... pour l'instant restons cohérent avec l'existant ;-)

On mardi 3 octobre 2017 14:47:12 CEST Maxime Tournier wrote:

avec des exceptions bien sûr :-)

matthieu-nesme commented 7 years ago

j'ai poussé ca https://github.com/Anatoscope/sofa/commit/54655b95fc48336eeb9e9575a51c1ad7596ed281 Ce n'est pas super propre, ca utilise badbit plutôt que failbit (car failbit est souvent actif puisque ca sert à arrêter de lire une stream) Mais au moins ca affiche la Data dont la lecture foire.

[ERROR]   [fixed_array] reading space separated values
[ERROR]   [fixed_array] reading space separated values, number of values: 1 expected: 4
[ERROR]   [Vector] reading space separated values
[ERROR]   [Data] reading "/Hexa/pressurePlaneQuad.quadInROI"

J'ouvre une autre issue pour nettoyer la dé-sérialisation de vector.