J'utilise un assembly nommé LuaInterface pour exécuter lua-code dans mon application C#. Pendant l'exécution de lua, je crée des gestionnaires d'événements de carte WinForms & (méthodes lua).Comment attraper une exception Lua en C#
Le problème est que la méthode doString
(alias runLuaCode
) exécute uniquement la routine init et les constructeurs. C'est bien et prévu, cependant la fonction doString
agit non bloquante donc la fonction retourne alors que les Lua-created-Forms sont toujours là. Cela signifie que toute exception (null-ref et alike) qui n'est pas levée pendant le constructeur n'est pas gérée par l'erreur lua traitant un crash jusqu'à mon wndProc de mon éditeur - qui tue probablement mon éditeur et gère les erreurs virtuellement impossible.
Est-il possible de créer un nouveau Thread/Process/AppDomain qui gère son propre WndProc de sorte que seule cette sous-tâche doit gérer les exceptions?
Dois-je bloquer mon éditeur sur doString avec une boucle while dans lua jusqu'à ce que les formulaires soient fermés?
Quelles autres options ai-je?
Tout conseil à ce sujet est grandement apprécié!
désolé - je ne comprends pas? – Corelgott
Oo - woop je vois ... ce n'était pas intentionnel - désolé et merci pour l 'indice - rappel à moi - rtfm – Corelgott
Il n'est pas tard pour résoudre ce problème ;-) –