Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsqu’une exception se produit, l’exécution s’arrête et le contrôle est donné au gestionnaire d’exceptions approprié. Cela signifie souvent que les lignes de code que vous prévoyez d’exécuter sont ignorées. Certains nettoyages de ressources, tels que la fermeture d’un fichier, doivent être effectués même si une exception est levée. Pour ce faire, vous pouvez utiliser un finally
bloc. Un finally
bloc s’exécute toujours, que l’exception soit levée ou non.
L’exemple de code suivant utilise un bloc try
/catch
pour intercepter un ArgumentOutOfRangeException. La Main
méthode crée deux tableaux et tente de copier l’un vers l’autre. L’action génère un ArgumentOutOfRangeException car length
est spécifié en tant que -1 et l’erreur est écrite dans la console. Le finally
bloc s’exécute indépendamment du résultat de l’action de copie.
class ArgumentOutOfRangeExample
{
public static void Main()
{
int[] array1 = {0, 0};
int[] array2 = {0, 0};
try
{
Array.Copy(array1, array2, -1);
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine($"Error: {e}");
throw;
}
finally
{
Console.WriteLine("This statement is always executed.");
}
}
}
Class ArgumentOutOfRangeExample
Public Shared Sub Main()
Dim array1() As Integer = {0, 0}
Dim array2() As Integer = {0, 0}
Try
Array.Copy(array1, array2, -1)
Catch e As ArgumentOutOfRangeException
Console.WriteLine("Error: {0}", e)
Throw
Finally
Console.WriteLine("This statement is always executed.")
End Try
End Sub
End Class