Re : Python : un message d'erreur s'affiche ?Pour l'instant, encapsuler l'appel Python dans un Try( ) est la meilleure option.Ceci est définitivement considéré comme un problème, et il faudra une enquête pour voir ce qui peut être fait.
Re : Python : un message d'erreur s'affiche ?On m'a dit qu'ils y travaillaient. J'ai pu créer du code Python avec try/except supplémentaire pour transmettre des erreurs inattendues à JMP sous forme de message d'erreur. Depuis Script de navigateur avec Python Selenium
Python Init(); // one-time startup...
// 0: startup
xrc = Python Execute( {}, {By_ID, By_XPATH, rc},
"\[
try:
from selenium import webdriver
...
By_XPATH = By.XPATH
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok", Throw( "start up Selenium failed" || Try( ": " || Char( rc ), "" ) ) );
Je suis d'accord, ce wrapper devrait être intégré à l'interface d'exécution. Et, si je me souviens bien, il y avait une sorte d'échec qu'il n'attrapait pas, mais cela rendait le débogage beaucoup plus agréable.
Re : Python : un message d'erreur s'affiche ?Incroyable - merci beaucoup !
Cela vaut vraiment la peine d'entrer dans la prochaine version 
@SamGardner ?
Pour l'instant, je remplacerai tous mes Python Soumettre() avec Essai Python() 
Veuillez ne pas la seule indentation supplémentaire dans il code pour correspondre à la essayer dans la fonction Python Try - d'autant plus que cette implémentation du transfert d'erreur n'a aucune chance de réagir sur échancrure erreurs (ainsi que toutes les autres erreurs détectées avant l'exécution du code *).
Je suppose que l'équipe Jmp va l'implémenter de manière plus robuste...
*) Donc, si vous avez un message d'erreur comme celui-ci

il peut s'agir d'une erreur d'indentation. Méfiez-vous de l'utilisation du Reformater le script fonction 
Python Init();
Python Try = Function( {code},
xrc = Python Execute(
{},
{rc},
"try:" || code || "\[
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok",
Throw( "Python error !
" || Try( Char( rc ), "" ) )
);
);
Python Try( "
print(0)" );
Python Try( "
print(xxx)" );
Python Term()
Re : Python : un message d'erreur s'affiche ?Une autre astuce pour le débogage Python :
Au lieu de
Python Submit("\[
Lorem ipsum dolor sit ametERROR IS HERE, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
]\")divisez le code en l'incluant dans un package :
Python Submit("<BR />import loremIpsum as li
li()<BR />");Ensuite, vous pouvez importer le même package en parallèle dans un pythonText.py fichier et vérifiez si toutes les fonctions s'exécutent comme prévu.
Ensuite, le débogage JSL peut être réduit à la partie interface.
Avantage supplémentaire :
Vous pouvez modifier le code du package loremIpsum dans votre éditeur de texte Python préféré avec la coloration syntaxique et d'autres gadgets.
Python : obtenir un message d'erreur ?L'intégration de Python dans jmp est très utile.
Pour le débogage - lorsque j'exécute une commande en Python via
Python Submit()
et obtenez une valeur de retour -1, indiquant que quelque chose s'est mal passé.
Existe-t-il une possibilité d'obtenir le message d'erreur ?
par exemple une variable Python mise à jour automatiquement, que je pourrais récupérer dans JSL via
Python Get(PythonErrorMessage)
#monTop10_2022
-> JMP 18 : )
Automatisation et scriptsRe : Python : obtenir un message d'erreur ?Comme Craige l'a indiqué, l'utilisation de try: except: est la meilleure option. C'est aussi une excellente pratique de programmation de prendre une habitude.
Très prochainement, nous dévoilerons le JMP 18 à Manchester. Je pense que vous serez agréablement surpris. Des efforts importants ont été déployés pour mettre à jour et améliorer l’intégration Python.
Restez à l'écoute...
Re : Python : obtenir un message d'erreur ?Très cool la nouvelle intégration fluide de Python dans Jmp.