Bonjour,
Je travaille sur un projet en C++. Nous y avons intégré un interpreteur TCL.
Tous marche nickel ,mais nous souhaiterions améliorer un point, si c'est faisable.
nous souhaiterions récupérer des traces d'erreurs TCL via le catch TCL.
Exemple
result a la valeur de "filec5b8e30"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 catch {open tototo w} result puts ${result}
si une erreur result reste vide. Ce qui doit être normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 catch {mafonction } result
la commande mafonction est ajoutée via Tcl_CreateCommand.
Nous avons créer pour nous une fonction TclSetError qui nous permet d'afficher une erreur personnalisée
Exemple
J'ai bien essayer Tcl_AddObjErrorInfo ou Tcl_AddErrorInfo mais c'est complétement déconnant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int call_unsetTimeOut (ClientData clientdata, Tcl_Interp *interp, int argc, char *argv[]) { if (argc == 1) { dosomething } else { theApp.m_pTclInterpreter->TclSetError("ERROR %s : does not take any argument.", argv[0]); return TCL_ERROR; } return TCL_OK; }
Est ce qu'il serait possible d'utiliser notre fonction TCSetError pour mettre à jour la variable du catch ? Ou en tout cas comment on la met à jour si on créer notre propre commande TCL ?
Est ce que j'ai été clair ou pas ?
Merci beaucoup
Ambroise Petitgenêt
Partager