Gestion des exceptions pendant l'utilisation d'une instance de la classe SecureArray


Les exceptions si elles sont lieux, sont envoyées à travers la classe ::OutOfRangeException.

Exemple de programme traitant les exceptions lancées par une instance de SecureArray :

/*** récupération d'exceptions ***/

#include "SecureArray.h"
#include <iostream>

using std::cout;
using std::end;

int main(void)
{
    SecureArray< int > tab(3);
    try  // l'utilisation doit se faire dans un bloc try
    {
        tab[3] = 50;    // lance une exception car l'indice 3 n'existe pas
    }
    catch (OutOfRangeException e)
    {
        char b[256];   // pour récupérer la chaine d'erreur de l'exception, il faut un buffer
        e.GetErrorStringPtr(b, 256);  // utilisez cette fonction pour récupérer la chaine d'erreur formatée.
        // affichage de l'erreur
       
cout << b << endl;
    }
    return 0;
}




Il est possible de récupérer la valeur qui à causée l'exception et la taille du tableau à l'aide accesseurs de la classe OutOfRangeException suivants :


int GetBadIndex(void)

int GetElements(void)