sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : [sdx-users] Bizarreries de fonctionnement


From: Martin Sévigny
Subject: RE : [sdx-users] Bizarreries de fonctionnement
Date: Thu, 21 Feb 2002 10:31:48 +0100

Bonjour,

> ce qui veut dire que lorsqu'on execute une requete vide on a 
> une exception
> tel qu'elle arrette tout le traitement ?
> c'est pas un peut violent ?

En fait, je ne sais toujours pas si le diagnostic était bon, mais si
c'est le cas voici ma réponse à ce commentaire.

Je ne crois pas que ce soit très violent, au contraire. SDX est une
application Java qui tente de suivre les bonnes pratiques de la
programmation dans ce langage, en particulier la gestion des erreurs
d'exécution avec les Exception et les clauses try / catch.

Si on demande à SDX de faire une recherche en lui donnant des paramètres
Null, il ne peut évidemment pas exécuter la recherche. Donc il va lancer
une exception, avec un message qui explique cette situation.

Si on utilise sdx:page dans une XSP, il y a un catch ( SDXException ) à
la fin de votre page, donc si une requête de recherche lance une telle
exception, c'est vrai qu'il ne se passe plus rien avant la fin. Je
trouvais cela tout de même plus propre que d'envoyer une erreur à
l'utilisateur.

Par contre, rien ne vous empêche de faire cela:

<xsp:logic>
        try {
</xsp:logic>
<sdx:executeFieldQuery .../>
<xsp:logic>
        }
        catch ( SDX Exception myException )
        {
                // Faites ce que vous voulez ici en cas d'erreur
        }
</xsp:logic>

Je n'ai jamais essayé mais en principe ça marche.

> pourait-on envisager que les informations de resultat de 
> requete se place
> a la fin du document généré ce qui permetrait d'avoir un pool d'info
> generique
> (sdx:user, sdx:db ...) toujours accessible en debut de document ?

Les résultats se placent exactement à l'endroit où vous les demandez. La
véritable question ici est pourquoi les informations sur l'utilisateur
sont à la fin du document, plutôt qu'au début, comme les autres
informations fournies par SDX?

La réponse est celle-ci : s'il y a un <sdx:handleLogout/> ou
l'équivalent dans la XSP, le sdx:user ne serait pas correct dans le
document généré.

Il faudrait en fait, dans le catch SDXException de SDX, mettre les
informations sur l'utilisateur même en cas d'erreur. A faire.

A bientôt,

Martin Sévigny




reply via email to

[Prev in Thread] Current Thread [Next in Thread]