Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

récupération des variables locales après une exception

22 réponses
Avatar
William Dode
slt,

Pour améliorer mon système de rattrapage d'erreurs j'aimerai récupérer
les variables locales juste avant l'erreur, hors local() ne me le permet
pas.

def f():
a=5
raise Exception('!')

try:
f()
except:
#ICI je voudrai récupérer la valeur de a par ex

des idées ?

--
William Dodé - http://flibuste.net
Informaticien indépendant

10 réponses

1 2 3
Avatar
Bruno Desthuilliers
Bonjour,

Ca semble marcher avec locals() :

def f():
a = 5
raise Exception(locals())

try:
f()
except Exception,msg:
print msg

Non ?


Si c'est toi qui lève l'exception etc, oui, of course. Mais dans le cas
général, tu va plutôt avoir un truc genre:

# thirdpart : un module développé par qqu'un d'autre
import thirdpart

try:
thirdpart.may_raise()
except thirdpart.ThirdPartError, e:
et_la_merci_inspect()

Avatar
tool69
Bonjour,

je suis à la recherche d'un tuto pour SQLAlchemy version 0.4 en Français
si possible, est-ce que quelqu'un aurait ça sous la main ?

Je cherche en fait à créer 2 tables : une "Articles", l'autre
"Categories" avec une relation many to many. Un Article peut avoir
plusieurs Categories et une Categorie correspond aussi à plusieurs Articles.

Merci.
Avatar
Méta-MCI \(MVP\)
Bonjour !

J'ai cru, un instant, à un problème de synchro inter-serveurs (problème usenet courant).
Mais, en regardant le header "References:" de ton message, j'y vois bien les réf des messages
hiérarchiquement précédents.

Question : pourquoi postes-tu en réponse à d'autres messages, et ne crées-tu pas de nouveaux fils ?

Y'a un truc qui m'échappe.

@-salutations

Michel Claveau
Avatar
tool69
Bonjour !

J'ai cru, un instant, à un problème de synchro inter-serveurs (problème
usenet courant).
Mais, en regardant le header "References:" de ton message, j'y vois bien
les réf des messages hiérarchiquement précédents.

Question : pourquoi postes-tu en réponse à d'autres messages, et ne
crées-tu pas de nouveaux fils ?

Y'a un truc qui m'échappe.

@-salutations

Michel Claveau



En effet, désolé j'ai répondu à un message puis effacé le destinataire,
je me suis dit que ça allait marcher. Pas de bol.

Avatar
Méta-MCI \(MVP\)
Re !


Les newsgroups fonctionnent un peu différemment des e-mails, sur ce point.

Chaque message, sur un newsgroup, est identifié par une "référence". Lorsqu'on répond à un message,
sa référence est mémorisés, ainsi que toutes les références enregistrées dans le message ; on a donc
une liste de références qui correspond au parcours du fil messages-réponses dans la hiérarchie.

Avec la plupart des newsgroups, ça fonctionne bien. Mais, avec usenet et son système de serveurs
multiples et asynchrones, il arrive (souvent) que les références varient, ne soient plus
significatives, que des messages manquent, ou ne répondent pas au bon message.

Mais, dans ton cas, le problème est un peu différent : la conception de ta réponse a mémorisé les
références, et le fait d'effacer/changer objet ou destinataire n'ay changera rien. Il est donc
préférable de choisir "Nouveau", "Nouveau message", "Nouvelle publication", etc.


@-salutations

Michel Claveau



PS : pour SQLAlchemy, je ne sais pas. Désolé.
Avatar
Mihamina (R12y) Rakotomandimby
Méta-MCI (MVP) wrote:
Les newsgroups fonctionnent un peu différemment des e-mails, sur ce point.


Non. Si il faisait la meme chose sur une Mailing List ça aurait eu le
meme effet. Il y a bien des références qui sont gardées dans les
en-tetes, meme pour les mails.

Avatar
MC
'soir !

Mailing List


C'est vrai pour certaines mailing-lists, pas pour d'autres. Tout dépend
du système de gestion.





--
@-salutations

Michel Claveau

Avatar
rejoc
Bonjour,
le 21.09.2007 11:58 tool69 a écrit:
Bonjour,

je suis à la recherche d'un tuto pour SQLAlchemy version 0.4 en Français
si possible, est-ce que quelqu'un aurait ça sous la main ?

Je cherche en fait à créer 2 tables : une "Articles", l'autre
"Categories" avec une relation many to many. Un Article peut avoir
plusieurs Categories et une Categorie correspond aussi à plusieurs
Articles.

Merci.


0.4 c'est osé... pas encore sorti...
Maintenant, le plus simple est de travailler un peu au dessus avec
Elixir (http://elixir.ematia.de/). Et ça marche en 0.3 et ... en 0.4
avec la version trunk

Un truc du genre :

class Article(Entity):
has_and_belongs_to_many('categories', of_kind='Categorie',
inverse='article')

class Categorie(Entity):
has_and_belongs_to_many('articles', of_kind='Article',
inverse='categories')

C'est quand même plus simple que de se taper SA en direct ;-)

Avatar
tool69


0.4 c'est osé... pas encore sorti...


En fait j'utilise la version svn.

Maintenant, le plus simple est de travailler un peu au dessus avec
Elixir (http://elixir.ematia.de/). Et ça marche en 0.3 et ... en 0.4
avec la version trunk



A l'époque ou j'avais essayé, elle ne fonctionnait qu'avec la 0.3, c'est
une bonne nouvelle.

C'est quand même plus simple que de se taper SA en direct ;-)


En effet, Elixir simplifie bien la vie.
Merci.

Avatar
William Dode
On 21-09-2007, MC wrote:
'soir !

Mailing List


C'est vrai pour certaines mailing-lists, pas pour d'autres. Tout dépend
du système de gestion.


Non c'est pareil, c'est au niveau du client que ça se joue en
positionnant Message-Id et In-Reply-To


--
William Dodé - http://flibuste.net
Informaticien indépendant


1 2 3