Le bouton « Notify on Language Exceptions »

Dans cet article, je vous présente un petit truc pour mieux gérer les exceptions du langage dans C++Builder.

Depuis la version 2007, il est possible d’ajouter un bouton à la barre d’outils qui se nomme Notify on Language Exceptions. Ce bouton permet d’activer ou de désactiver l’option du même nom que l’on trouve dans Tools / Options… / Debugger Options / Embarcadero Debuggers / Language Exceptions.

Comme vous le voyez, on dirait que cette option est quasiment cachée, donc le fait d’avoir un bouton accessible d’un seul clique de souris peut faire sauver beaucoup de temps lors du débogage d’un programme.

Pour ajouter le bouton dans la barre d’outils, il suffit d’aller dans View / Toolbars / Customize…. Ensuite, il faut aller dans l’onglet Commands et choisir la catégorie Run. Maintenant, il faut faire un glisser-déposer de l’item Notify on Language Exceptions dans la barre d’outils de C++Builder. Voici une capture d’écran pour mieux illustrer mes propos:

Notify on Language Exceptions

Une fois terminé, vous pouvez fermer la fenêtre Customize.

Dans le but de tester le bon fonctionnement du bouton, nous allons créer un nouveau projet dans lequel le code suivant sera inséré dans le constructeur de la Form:

    try
    {
        int a, b = 0;
        a = 2 / b;
    }
    catch(...)
    {
    }

Si le bouton est enfoncé lorsqu’on appuie sur Run en mode Debug, alors le message suivant apparaîtra: « Project Project1.exe raised exception class EDivByZero with message 'Division by zero' ».

C’est normal car il y a effectivement une division par zéro. Si l’on désactive l’option et que l’on relance l’application, le message disparaît comme par magie.

Voilà, c’est tout!