Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur d'exécution C++ : « exception hors limites » ?

Comment résoudre l'erreur d'exécution C++ : « exception hors limites » ?

WBOY
WBOYoriginal
2023-08-25 23:16:541950parcourir

如何解决C++运行时错误:'out of bounds exception'?

Comment résoudre l'erreur d'exécution C++ : « exception hors limites »

Lors de la programmation en C++, des erreurs d'exécution sont souvent rencontrées. L'une des erreurs courantes est « l'exception hors limites », qui est une erreur hors limites d'un tableau. Cette erreur est générée lorsque nous essayons d'accéder à un tableau au-delà de sa plage d'index valide. De telles erreurs peuvent provoquer le blocage du programme ou produire des résultats inattendus. Ci-dessous, nous décrirons comment résoudre ce problème et fournirons quelques exemples de code.

  1. Principes de base pour éviter les erreurs hors limites du tableau
    Les erreurs hors limites du tableau se produisent généralement lorsque nous essayons d'accéder à un élément du tableau au-delà de sa plage valide. Afin d'éviter cette erreur, nous devons suivre les principes suivants :

    • Avant d'accéder à un élément du tableau, déterminez si l'index auquel accéder est dans la plage valide.
    • Assurez-vous que toutes les boucles utilisent la plage d'index correcte et ne sortent pas de la plage lors du traitement des éléments du tableau.
  2. Utilisez des vérifications conditionnelles pour éviter les erreurs hors limites
    Pour éviter les erreurs hors limites du tableau, nous pouvons effectuer des vérifications conditionnelles avant d'accéder aux éléments du tableau. Voici un exemple de code :
#include <iostream>
using namespace std;

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int index;

    cout << "请输入要访问的数组索引:";
    cin >> index;
    
    if (index >= 0 && index < 5) {
        cout << "数组元素值为:" << arr[index] << endl;
    } else {
        cout << "索引超出有效范围!" << endl;
    }

    return 0;
}

Dans l'exemple ci-dessus, nous entrons d'abord l'index du tableau auquel nous voulons accéder, puis effectuons la vérification des conditions. Si l'index est dans la plage valide, la valeur de l'élément de tableau correspondant est affichée ; sinon, il est indiqué que l'index est en dehors de la plage valide.

  1. Utiliser un mécanisme de gestion des exceptions pour gérer les erreurs hors limites
    C++ fournit un mécanisme de gestion des exceptions, que nous pouvons utiliser pour gérer les erreurs hors limites des tableaux. Voici un exemple de code :
#include <iostream>
using namespace std;

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int index;

    cout << "请输入要访问的数组索引:";
    cin >> index;

    try {
        if (index < 0 || index >= 5) {
            throw "索引超出有效范围!";
        }

        cout << "数组元素值为:" << arr[index] << endl;
    } catch (const char* errMsg) {
        cout << errMsg << endl;
    }

    return 0;
}

Dans l'exemple ci-dessus, nous avons utilisé le bloc d'instructions try-catch pour intercepter les exceptions. Lorsque l'index dépasse la plage valide, nous levons une exception personnalisée et gérons l'exception dans le bloc d'instruction catch. De cette façon, même si une erreur hors limites se produit, le programme peut se terminer normalement sans planter.

Résumé :
Lors de l'écriture de programmes C++, nous devons toujours faire attention au problème des erreurs hors limites des tableaux. En effectuant des vérifications de condition et en utilisant des mécanismes de gestion des exceptions, nous pouvons efficacement éviter et résoudre les erreurs hors limites. Dans le même temps, de bonnes habitudes et spécifications de programmation peuvent également nous aider à réduire le risque de telles erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn