univer@do
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


مرحبا بكم في منتدياتنا نرجو لكم قضاء وقت ممتع
 
AccueilDernières imagesRechercherS'enregistrerConnexion
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 La gestion des exceptions

Aller en bas 
4 participants
AuteurMessage
Admin
Admin
Admin
Admin


Messages : 1154
Date d'inscription : 06/08/2009

La gestion des exceptions Empty
MessageSujet: La gestion des exceptions   La gestion des exceptions Icon_minitimeSam 22 Aoû - 5:35

De nombreuses fonctions VB.NET sont susceptibles de générer des exceptions, c'est à dire des erreurs. Lorsqu'une fonction est
susceptible de générer une exception, le programmeur devrait la gérer dans le but d'obtenir des programmes plus résistants aux
erreurs : il faut toujours éviter le "plantage" sauvage d'une application.
La gestion d'une exception se fait selon le schéma suivant :
try
appel de la fonction susceptible de générer l'exception
catch e as Exception e)
traiter l'exception e
end try

instruction suivante
Si la fonction ne génère pas d'exception, on passe alors à instruction suivante, sinon on passe dans le corps de la clause catch puis à
instruction suivante. Notons les points suivants :
· e est un objet dérivé du type Exception. On peut être plus précis en utilisant des types tels que IOException, SystemException,
etc… : il existe plusieurs types d'exceptions. En écrivant catch e as Exception, on indique qu'on veut gérer toutes les types
d'exceptions. Si le code de la clause try est susceptible de générer plusieurs types d'exceptions, on peut vouloir être plus précis
en gérant l'exception avec plusieurs clauses catch :
try
appel de la fonction susceptible de générer l'exception
catch e as IOException
traiter l'exception e
catch e as SystemException
traiter l'exception e
end try
instruction suivante
· On peut ajouter aux clauses try/catch, une clause finally :
try
appel de la fonction susceptible de générer l'exception
catch e as Exception
traiter l'exception e
finally
code exécuté après try ou catch
end try
instruction suivante
Qu'il y ait exception ou pas, le code de la clause finally sera toujours exécuté.
· Dans la clause catch, on peut ne pas vouloir utiliser l'objet Exception disponible. Au lieu d'écrire catch e as Exception, on écrit alors
catch.
· La classe Exception a une propriété Message qui est un message détaillant l'erreur qui s'est produite. Ainsi si on veut afficher
celui-ci, on écrira :
catch e as Exception
Console.Error.WriteLine("L'erreur suivante s'est produite : "+e.Message);
...
Les bases de VB.NET 32
end try
· La classe Exception a une méthode ToString qui rend une chaîne de caractères indiquant le type de l'exception ainsi que la
valeur de la propriété Message. On pourra ainsi écrire :
catch ex as Exception
Console.Error.WriteLine("L'erreur suivante s'est produite : "+ex.ToString)
...
end try
L'exemple suivant montre une exception générée par l'utilisation d'un élément de tableau inexistant :
' options
Option Explicit On
Option Strict On
' espaces de noms
Imports System
Module tab1
Sub Main()
' déclaration & initialisation d'un tableau
Dim tab() As Integer = {0, 1, 2, 3}
Dim i As Integer
' affichage tableau avec un for
For i = 0 To tab.Length - 1
Console.Out.WriteLine(("tab[" & i & "]=" & tab(i)))
Next i
' affichage tableau avec un for each
Dim élmt As Integer
For Each élmt In tab
Console.Out.WriteLine(élmt)
Next élmt
' génération d'une exception
Try
tab(100) = 6
Catch e As Exception
Console.Error.WriteLine(("L'erreur suivante s'est produite : " & e.Message))
End Try
End Sub
End Module

L'exécution du programme donne les résultats suivants :
dos>exception1
tab[0]=0
tab[1]=1
tab[2]=2
tab[3]=3
0123
L'erreur suivante s'est produite : L'index se trouve en dehors des limites du tableau.
Voici un autre exemple où on gère l'exception provoquée par l'affectation d'une chaîne de caractères à un nombre lorsque la chaîne
ne représente pas un nombre :
' options
Option Strict On
Option Explicit On
'imports
Imports System
Public Module console1
Public Sub Main()
' On demande le nom
System.Console.Write("Nom : ")
' lecture réponse
Dim nom As String = System.Console.ReadLine()
' on demande l'âge
Dim age As Integer
Les bases de VB.NET 33
Dim ageOK As Boolean = False
Do While Not ageOK
' question
Console.Out.Write("âge : ")
' lecture-vérification réponse
Try
age = Int32.Parse(System.Console.ReadLine())
If age < 0 Then Throw New Exception
ageOK = True
Catch
Console.Error.WriteLine("Age incorrect, recommencez...")
End Try
Loop
' affichage final
Console.Out.WriteLine("Vous vous appelez [" & nom & "] et vous avez [" & age & "] ans")
End Sub
End Module
Quelques résultats d'exécution :
dos>console1
Nom : dupont
âge : 23

Vous vous appelez dupont et vous avez 23 ans

dos>console1
Nom : dupont
âge : xx
Age incorrect, recommencez...
âge : 12
Vous vous appelez dupont et vous avez 12 ans
Revenir en haut Aller en bas
https://tarikvb.1fr1.net
^_^E-V-E-R-E-S-T^_^
(مشرف(ة
(مشرف(ة
^_^E-V-E-R-E-S-T^_^


Messages : 1061
Date d'inscription : 22/08/2009

La gestion des exceptions Empty
MessageSujet: Re: La gestion des exceptions   La gestion des exceptions Icon_minitimeSam 22 Aoû - 5:49

je comprens rien la dans mais je vois que c'est un travail exelent que ta fais bravo ........
Revenir en haut Aller en bas
khwiwla
(مشرف(ة
(مشرف(ة
khwiwla


Messages : 445
Date d'inscription : 14/08/2009
Age : 33

La gestion des exceptions Empty
MessageSujet: chapeaux ba tarik   La gestion des exceptions Icon_minitimeVen 28 Aoû - 9:28

bravoooooo cheers cheers
Revenir en haut Aller en bas
saraloudiyi
(مشرف(ة
(مشرف(ة
saraloudiyi


Messages : 875
Date d'inscription : 26/08/2009

La gestion des exceptions Empty
MessageSujet: Re: La gestion des exceptions   La gestion des exceptions Icon_minitimeVen 28 Aoû - 18:03

bravo tarik
Revenir en haut Aller en bas
Contenu sponsorisé





La gestion des exceptions Empty
MessageSujet: Re: La gestion des exceptions   La gestion des exceptions Icon_minitime

Revenir en haut Aller en bas
 
La gestion des exceptions
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» sql server: 04 - Maintenance & Gestion des indexes
» لطلبة السنة الاولى gestion du temp درس
» لطلبة السنة الاولى gestion du temp درس

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
univer@do :: المعلوميات :: لغات البرمجة-
Sauter vers: