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

Attraper une exceptions qui se produit dans SelectMethod d'un objectDataSource

2 réponses
Avatar
Thomas
Bonjour,

Lorsqu'un contrôle de type GridView par exemple est lié (déclarativement
avec un DataSourceID) à un objectdatasource qui a une SelectMethod, la
methode est exécutée lors de la liaison de 2 contrôles. Mais si une
exception se produit dans la SelectMethod et malgré qu'elle soit attrapé
dans un block try/catch et remontée à la page où les 2 contrôles sont
déclarés à quel moment je dois attraper l'exception au niveau de la page ?
Vu que les 2 contrôles sont liés l'un à l'autre déclarativement (pas dans le
code source de la page), je ne vois pas où et à quel moment je pourrais
attraper et traiter l'exception pour éviter d'afficher une page d'erreur IIS
à l'utilisateur ? Merci pour votre aide.

Thomas

2 réponses

Avatar
Gilles TOURREAU
Le Wed, 26 Sep 2007 12:00:58 +0200, Thomas a
écrit:

Bonjour,

Lorsqu'un contrôle de type GridView par exemple est lié (déclarativement
avec un DataSourceID) à un objectdatasource qui a une SelectMethod, la
methode est exécutée lors de la liaison de 2 contrôles. Mais si une
exception se produit dans la SelectMethod et malgré qu'elle soit attrapé
dans un block try/catch et remontée à la page où les 2 contrôles sont
déclarés à quel moment je dois attraper l'exception au niveau de la page
? Vu que les 2 contrôles sont liés l'un à l'autre déclarativement (pas
dans le code source de la page), je ne vois pas où et à quel moment je
pourrais attraper et traiter l'exception pour éviter d'afficher une page
d'erreur IIS à l'utilisateur ? Merci pour votre aide.

Thomas



Copier/Coller d'un de mes post précédents :

"Dans toute bonne application ASP .NET qui est en production, il faut
traiter l'événement Application_Error dans Global.asax et mettre dans
un fichier log,
toutes les informations contenant l'exception (et l'exception interne, et
cela de façon récursive... cf. propriété Exception.InnerException)
renvoyée par Server.GetLastError().

Vous pouvez aussi utiliser aussi les Trace et/ou le journal d'événement de
Windows, mais cela peut se faire uniquement si vous avez les droits
nécessaires pour consulter le journal d'événements (ce qui n'est pas
souvent le cas pour des hébergeurs de "site internet classique", dans ce
cas utilisez la première solution).

A noter, que les informations de la pile de l'exception
(Exception.StackTrace) ne contiendront pas le n° de ligne si vous ne
livrez pas les ".pdb" avec vos assembly... "

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Thomas
Merci pour ton aide. Effectivement j'avais oublié ce détail (important).

Thomas

Bonjour,

Lorsqu'un contrôle de type GridView par exemple est lié (déclarativement
avec un DataSourceID) à un objectdatasource qui a une SelectMethod, la
methode est exécutée lors de la liaison de 2 contrôles. Mais si une
exception se produit dans la SelectMethod et malgré qu'elle soit attrapé
dans un block try/catch et remontée à la page où les 2 contrôles sont
déclarés à quel moment je dois attraper l'exception au niveau de la page
? Vu que les 2 contrôles sont liés l'un à l'autre déclarativement (pas
dans le code source de la page), je ne vois pas où et à quel moment je
pourrais attraper et traiter l'exception pour éviter d'afficher une page
d'erreur IIS à l'utilisateur ? Merci pour votre aide.

Thomas



Copier/Coller d'un de mes post précédents :

"Dans toute bonne application ASP .NET qui est en production, il faut
traiter l'événement Application_Error dans Global.asax et mettre dans
un fichier log,
toutes les informations contenant l'exception (et l'exception interne, et
cela de façon récursive... cf. propriété Exception.InnerException)
renvoyée par Server.GetLastError().

Vous pouvez aussi utiliser aussi les Trace et/ou le journal d'événement de
Windows, mais cela peut se faire uniquement si vous avez les droits
nécessaires pour consulter le journal d'événements (ce qui n'est pas
souvent le cas pour des hébergeurs de "site internet classique", dans ce
cas utilisez la première solution).

A noter, que les informations de la pile de l'exception
(Exception.StackTrace) ne contiendront pas le n° de ligne si vous ne
livrez pas les ".pdb" avec vos assembly... "

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr