Je ne sais pas exactement comment demander ce que je demande, et je ne sais pas si un exemple de code serait vraiment pertinent ici, donc si une clarification est nécessaire, il suffit de demander.Provoque un événement en Python lorsqu'une erreur se produit?
J'ai un programme non-trivial en Python qui fait quelques choses. Il lit à partir de certaines tables de base de données SQL Server, exécute du DDL dans SQL Server (les deux avec pyodbc), analyse certaines données et dispose d'une interface graphique pour tout orchestrer afin que les utilisateurs à l'avenir puissent automatiser le processus.
Tout fonctionne comme il se doit, mais évidemment, je ne m'attends pas à ce que les futurs utilisateurs jouent toujours selon les règles. Je peux indiquer explicitement quelle entrée est incorrecte (c'est-à-dire les champs laissés vides), mais il y a pas mal de choses qui peuvent mal tourner. Les structures d'essai sont hors de question car elles causent quelques problèmes dans le web des choses qui se passent dans mon programme, dont certaines sont intégrées dans les ressources que j'utilise, sans mentionner que je sens que ce n'est probablement pas une bonne forme les avoir partout. Cela étant dit, je me demande s'il existe un moyen de provoquer un événement (probablement une boîte de dialogue indiquant qu'une erreur s'est produite), afin qu'un utilisateur sans vue de la fenêtre de sortie sache que quelque chose s'est mal passé . Ce serait bien si je pouvais aussi saisir le message d'erreur lui-même, mais ce n'est pas nécessaire. Je vais bien avec l'erreur qui se produit encore tant que le programme peut continuer si le problème est corrigé. Je ne sais pas si c'est possible, ou si c'est possible quelle forme il faudrait, comme quelque chose qui surveille la sortie ou écoute les erreurs, mais je suis ouvert à toutes les informations à ce sujet.
Merci
J'espérais ne pas avoir à utiliser try/except mais il me semble que c'est la seule option. Je combine try/except et threading, car j'avais un peu de threading en cours, et ça semble fonctionner un peu pour le moment. Merci! –