Je suis confronté à un probleme dont je ne trouve pas la solution.
Je m'impose de développer mes applis avec l'option strict = on
Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace
et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me
retouner un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String)
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
Me.ptConnexion)
Dim myReader As System.Data.Odbc.OdbcDataReader =
requete.ExecuteReader()
Return False
End Function
Pour que cette fonction "fonctionne" correctement avec option strict =
on, je dois typer l'élement qu'elle va me retourner.
Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as
System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me
permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _
System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
_ Me.ptConnexion)
try
Dim myReader As System.Data.Odbc.OdbcDataReader =
_ requete.ExecuteReader()
catch
Return False
end try
End Function
Mais evidemment, comme le type de retour est un objet :
System.Data.Odbc.OdbcDataReader
Je ne peux pas retourner un false en cas d'echec..
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrice
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
-- Patrice --
"Yttrium" a écrit dans le message de news: 449aaa0f$0$817$
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution. Je m'impose de développer mes applis avec l'option strict = on Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, Me.ptConnexion) Dim myReader As System.Data.Odbc.OdbcDataReader > requete.ExecuteReader() Return False End Function
Pour que cette fonction "fonctionne" correctement avec option strict = on, je dois typer l'élement qu'elle va me retourner. Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _ System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, _ Me.ptConnexion)
try Dim myReader As System.Data.Odbc.OdbcDataReader > _ requete.ExecuteReader() catch Return False end try
End Function
Mais evidemment, comme le type de retour est un objet : System.Data.Odbc.OdbcDataReader Je ne peux pas retourner un false en cas d'echec..
Dans l'attente d'un conseil avisé, Salutations.
--
En complément des réponses de Philippe, le code qui utilisera cette fonction
verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que
la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une
raison tout à fait légitime, le principe est que c'est l'exception levée par
la fonction qui indique au code appelant un problème et non pas une valeur
de retour particulière).
--
Patrice
--
"Yttrium" <POUSSIERES.ngtrash@gmail.com> a écrit dans le message de news:
449aaa0f$0$817$ba4acef3@news.orange.fr...
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution.
Je m'impose de développer mes applis avec l'option strict = on
Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace
et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner
un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String)
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
Me.ptConnexion)
Dim myReader As System.Data.Odbc.OdbcDataReader > requete.ExecuteReader()
Return False
End Function
Pour que cette fonction "fonctionne" correctement avec option strict = on,
je dois typer l'élement qu'elle va me retourner.
Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as
System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me
permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _
System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
_ Me.ptConnexion)
try
Dim myReader As System.Data.Odbc.OdbcDataReader > _ requete.ExecuteReader()
catch
Return False
end try
End Function
Mais evidemment, comme le type de retour est un objet :
System.Data.Odbc.OdbcDataReader
Je ne peux pas retourner un false en cas d'echec..
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
-- Patrice --
"Yttrium" a écrit dans le message de news: 449aaa0f$0$817$
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution. Je m'impose de développer mes applis avec l'option strict = on Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, Me.ptConnexion) Dim myReader As System.Data.Odbc.OdbcDataReader > requete.ExecuteReader() Return False End Function
Pour que cette fonction "fonctionne" correctement avec option strict = on, je dois typer l'élement qu'elle va me retourner. Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _ System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, _ Me.ptConnexion)
try Dim myReader As System.Data.Odbc.OdbcDataReader > _ requete.ExecuteReader() catch Return False end try
End Function
Mais evidemment, comme le type de retour est un objet : System.Data.Odbc.OdbcDataReader Je ne peux pas retourner un false en cas d'echec..
Dans l'attente d'un conseil avisé, Salutations.
--
Patrice
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de nom et de prénom...
-- Patrice
"Patrice" a écrit dans le message de news:
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
-- Patrice --
"Yttrium" a écrit dans le message de news: 449aaa0f$0$817$
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution. Je m'impose de développer mes applis avec l'option strict = on Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, Me.ptConnexion) Dim myReader As System.Data.Odbc.OdbcDataReader >> requete.ExecuteReader() Return False End Function
Pour que cette fonction "fonctionne" correctement avec option strict = on, je dois typer l'élement qu'elle va me retourner. Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _ System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, _ Me.ptConnexion)
try Dim myReader As System.Data.Odbc.OdbcDataReader >> _ requete.ExecuteReader() catch Return False end try
End Function
Mais evidemment, comme le type de retour est un objet : System.Data.Odbc.OdbcDataReader Je ne peux pas retourner un false en cas d'echec..
Dans l'attente d'un conseil avisé, Salutations.
--
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de nom et
de prénom...
--
Patrice
"Patrice" <scribe@chez.com> a écrit dans le message de news:
urfUlqhlGHA.1276@TK2MSFTNGP03.phx.gbl...
En complément des réponses de Philippe, le code qui utilisera cette
fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce
au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une
raison tout à fait légitime, le principe est que c'est l'exception levée
par la fonction qui indique au code appelant un problème et non pas une
valeur de retour particulière).
--
Patrice
--
"Yttrium" <POUSSIERES.ngtrash@gmail.com> a écrit dans le message de news:
449aaa0f$0$817$ba4acef3@news.orange.fr...
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution.
Je m'impose de développer mes applis avec l'option strict = on
Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace
et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner
un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String)
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
Me.ptConnexion)
Dim myReader As System.Data.Odbc.OdbcDataReader >> requete.ExecuteReader()
Return False
End Function
Pour que cette fonction "fonctionne" correctement avec option strict =
on, je dois typer l'élement qu'elle va me retourner.
Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as
System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me
permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _
System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery,
_ Me.ptConnexion)
try
Dim myReader As System.Data.Odbc.OdbcDataReader >> _ requete.ExecuteReader()
catch
Return False
end try
End Function
Mais evidemment, comme le type de retour est un objet :
System.Data.Odbc.OdbcDataReader
Je ne peux pas retourner un false en cas d'echec..
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de nom et de prénom...
-- Patrice
"Patrice" a écrit dans le message de news:
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
-- Patrice --
"Yttrium" a écrit dans le message de news: 449aaa0f$0$817$
Bonjour,
Je suis confronté à un probleme dont je ne trouve pas la solution. Je m'impose de développer mes applis avec l'option strict = on Que cela soit bien ou pas, la n'est pas la question...
Mon problème:
Je ne parviens pas à trouver une système de gestion des erreurs efficace et élégants , dans certains de mes classes...
Exemple :
J'ai uine classe qui est chargée d'exeuter une requete, et de me retouner un datareader :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, Me.ptConnexion) Dim myReader As System.Data.Odbc.OdbcDataReader >> requete.ExecuteReader() Return False End Function
Pour que cette fonction "fonctionne" correctement avec option strict = on, je dois typer l'élement qu'elle va me retourner. Je pensais donc ecrire :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as System.Data.Odbc.OdbcDataReader
Mais le problème est le suivant.
Je souhaiterais ajouter dans cette fonction, un try / catch, qui me permettrait de lever les exceptions lors de l'éxécution de la requete,
donc :
Public Function ExecuteRequeteAvecRs(ByVal _strQuery As String) as _ System.Data.Odbc.OdbcDataReader
Dim requete As New System.Data.Odbc.OdbcCommand(_strQuery, _ Me.ptConnexion)
try Dim myReader As System.Data.Odbc.OdbcDataReader >> _ requete.ExecuteReader() catch Return False end try
End Function
Mais evidemment, comme le type de retour est un objet : System.Data.Odbc.OdbcDataReader Je ne peux pas retourner un false en cas d'echec..
Dans l'attente d'un conseil avisé, Salutations.
--
Yttrium
Patrice a écrit :
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?
Patrice a écrit :
En complément des réponses de Philippe, le code qui utilisera cette fonction
verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que
la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une
raison tout à fait légitime, le principe est que c'est l'exception levée par
la fonction qui indique au code appelant un problème et non pas une valeur
de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la
fonction appelante ?
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?
Yttrium
Patrick Philippot a écrit :
En passant, il faudrait peut-être retourner un DataReader également en cas de succès.
Oui, oui, ce n'est qu'un extrait de code simplifié...
Patrick Philippot a écrit :
En passant, il faudrait peut-être retourner un DataReader également en cas
de succès.
Oui, oui, ce n'est qu'un extrait de code simplifié...
En passant, il faudrait peut-être retourner un DataReader également en cas de succès.
Oui, oui, ce n'est qu'un extrait de code simplifié...
Millox Frédéric
Salut Yttrium,
Tu peux gérer cette exception dans la fonction appelante en prolongeant l'exception à la fonction appelante.
try ..... catch ex as Exception Throw new Exception(ex.toString) end try
A+
-- fmillox
"Yttrium" a écrit :
Patrice a écrit : > En complément des réponses de Philippe, le code qui utilisera cette fonction > verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que > la valeur de retour à une valeur particulière. > > (par exemple une fonction pourrait retourner Nothing ou False pour une > raison tout à fait légitime, le principe est que c'est l'exception levée par > la fonction qui indique au code appelant un problème et non pas une valeur > de retour particulière). >
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?
Salut Yttrium,
Tu peux gérer cette exception dans la fonction appelante en prolongeant
l'exception à la fonction appelante.
try
.....
catch ex as Exception
Throw new Exception(ex.toString)
end try
A+
--
fmillox
"Yttrium" a écrit :
Patrice a écrit :
> En complément des réponses de Philippe, le code qui utilisera cette fonction
> verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que
> la valeur de retour à une valeur particulière.
>
> (par exemple une fonction pourrait retourner Nothing ou False pour une
> raison tout à fait légitime, le principe est que c'est l'exception levée par
> la fonction qui indique au code appelant un problème et non pas une valeur
> de retour particulière).
>
Entendu, mais commment avoir connaissance de cette exception dans la
fonction appelante ?
Tu peux gérer cette exception dans la fonction appelante en prolongeant l'exception à la fonction appelante.
try ..... catch ex as Exception Throw new Exception(ex.toString) end try
A+
-- fmillox
"Yttrium" a écrit :
Patrice a écrit : > En complément des réponses de Philippe, le code qui utilisera cette fonction > verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que > la valeur de retour à une valeur particulière. > > (par exemple une fonction pourrait retourner Nothing ou False pour une > raison tout à fait légitime, le principe est que c'est l'exception levée par > la fonction qui indique au code appelant un problème et non pas une valeur > de retour particulière). >
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?
Patrick Philippot
Patrice wrote:
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de nom et de prénom...
Pas de problème. Voilà 58 ans que ça dure :-) .
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrice wrote:
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de
nom et de prénom...
Pas de problème. Voilà 58 ans que ça dure :-) .
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
De Patrick, pas de Phillipe !! Désolé de ce petit mélange vespéral de nom et de prénom...
Pas de problème. Voilà 58 ans que ça dure :-) .
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrice
Cf réponse de Frédéric (je ne me suis pas trompé simplement) ou tout simplement ne pas la gérer ici.
Le principe est que quand une exception survient, elle est traitée par le premier try catch rencontré en remontant dans les appels (éventuellement un gestionnaire global). Après il est possible éventuellement de tout de même l'attraper (par exemple pour libérer une ressource) tout en la laissant se propager ( pour qu'elle soit traitée par un appelant)...
-- Patrice
"Yttrium" a écrit dans le message de news: 449af48e$0$14878$
Patrice a écrit :
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?
Cf réponse de Frédéric (je ne me suis pas trompé simplement) ou tout
simplement ne pas la gérer ici.
Le principe est que quand une exception survient, elle est traitée par le
premier try catch rencontré en remontant dans les appels (éventuellement un
gestionnaire global). Après il est possible éventuellement de tout de même
l'attraper (par exemple pour libérer une ressource) tout en la laissant se
propager ( pour qu'elle soit traitée par un appelant)...
--
Patrice
"Yttrium" <POUSSIERES.ngtrash@gmail.com> a écrit dans le message de news:
449af48e$0$14878$626a54ce@news.free.fr...
Patrice a écrit :
En complément des réponses de Philippe, le code qui utilisera cette
fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce
au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une
raison tout à fait légitime, le principe est que c'est l'exception levée
par la fonction qui indique au code appelant un problème et non pas une
valeur de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la
fonction appelante ?
Cf réponse de Frédéric (je ne me suis pas trompé simplement) ou tout simplement ne pas la gérer ici.
Le principe est que quand une exception survient, elle est traitée par le premier try catch rencontré en remontant dans les appels (éventuellement un gestionnaire global). Après il est possible éventuellement de tout de même l'attraper (par exemple pour libérer une ressource) tout en la laissant se propager ( pour qu'elle soit traitée par un appelant)...
-- Patrice
"Yttrium" a écrit dans le message de news: 449af48e$0$14878$
Patrice a écrit :
En complément des réponses de Philippe, le code qui utilisera cette fonction verra qu'elle échoue grâce à l'exception pas spécialement grâce au fait que la valeur de retour à une valeur particulière.
(par exemple une fonction pourrait retourner Nothing ou False pour une raison tout à fait légitime, le principe est que c'est l'exception levée par la fonction qui indique au code appelant un problème et non pas une valeur de retour particulière).
Entendu, mais commment avoir connaissance de cette exception dans la fonction appelante ?