tuttleofx/TuttleOFX — comment on commit 719138c7cdf9d139bdd2f49ace786e099e42f180
File: libraries/tuttle/src/tuttle/host/graph/ProcessGraph.cpp line 402
By fabiencastan:

>
> le problme d'avoir une exception c'est que ca fait quitter le process.
> et dans le cas d'une squence troue, ca s'arrete de calculer.
> Or on aimerais bien que ca continue a processer les autres images
> spcifies dans le range...
> Peux tre que j'ai pas compris exactement ce que tu veux faire.
>
Justement, c'est ici que l'on CHOISI le comportement.

Je reprends la chaine du process:
* Le plugin ne peut pas rendre la frame courante
** dans le code du plugin on lve une exception
** dans le wrapping openfxHack, on catch toutes les exceptions et on
retourne un code d'erreur au host (c'est le seul moyen de communication
entre le plugin et le host, on ne peut pas passer des exceptions entre le
plugin et le host)
* Dans le foncteur qui parcourt le graph (c'est ici qu'on est dans le code
!)
** On reoit cette erreur et IL FAUT QU'ON LA REOIVE, car on ne va pas
calculer le graph et laisser le writer crire une zone mmoire
non-initialise sur lequel on aurait appliqu un blur, etc.
** On recoit donc une erreur et on stop le process de la frame courante
(dans tous les cas !)
** On choisi si on passe la frame suivante ou si l'on arrte. Et il faut
que ce soit une option car ce n'est pas nous de dcider le comportement
(notamment si on l'utilise en tant que librairie d'image on voudra
rcuprer une erreur). Mais mme dans sam-do il faut que ce soit une option
(par contre on peut dire que l'option --continueOnError est gale true
par defaut).

Mais dans notre cas, ca veux dira que l'on mettrais en permanence
> --continueOnError, donc je vois pas l'interet de cette option ...
> Enfin le probleme viens peu tre que si le fichier n'existe pas ne devrai
> peut tre pas tre une exception ..
>
En fait si c'est normale que ce soit une exception. C'est une erreur. On ne
peut pas faire le rendu.
Il n'y a pas dans openfx de mcanisme pour checker la validit d'un node
avant de lancer le rendu. C'est directement dans le rendu en renvoyant une
erreur qu'on peut dire qu'on est invalide.

> sam-do a une option "continue on error", il faut la setter correctement et
> > ce sera bon.
>
Oui !
Donc tu es d'accords pour ne pas commenter le "
if( options._continueOnError )"?

> > Par contre je suis d'accords pour mettre un ifndef autour du
> > "boost::current_exception_diagnostic_information()", mais mme en
> > production il faut quand mme affich un message d'erreur simplifi pour
> > dire que l'image au temps t n'a pas pu tre calcule.
> >
> => c'est ce que ca fait actuellement
>
Effectivement j'avais pas vu le cout "Error at frame..."