RECHERCHEZ parmi plus de 10 000 articles de référence ou pratiques et 4 000 articles d'actualité
PAR DOMAINE D'EXPERTISE
PAR SECTEUR INDUSTRIEL
PAR MOTS-CLES
NAVIGUER DANS LA
CARTOGRAPHIE INTERACTIVE
DÉCOUVREZ toute l'actualité, la veille technologique GRATUITE, les études de cas et les événements de chaque secteur de l'industrie.
Article précédent
Langages de scriptsArticle de référence | Réf : H3078 v1
Auteur(s) : Manuel SERRANO
Date de publication : 10 août 2003
Article suivant
Conception par objets en C++Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes (225 articles en ce moment)
Cette offre vous donne accès à :
Une base complète et actualisée d'articles validés par des comités scientifiques
Un service Questions aux experts et des outils pratiques
Des Quiz interactifs pour valider la compréhension et ancrer les connaissances
Dans une programmation basée sur les types abstraits, les opérateurs sur ces types doivent se prémunir contre des utilisations anormales (par exemple, dépiler une pile vide). Il faut en ce cas avertir l’utilisateur que l’opération n’a pas pu être effectuée. Terminer le programme (avec par exemple des fonctionnalités comme assert, § 2.4) est souvent trop radical. Donner simplement un code d’erreur, comme en C, est peu robuste car cela suppose que l’utilisateur teste ce code après chaque utilisation d’opérateur. Cela ne favorise pas la lisibilité du code et est sujet à erreur car il est alors facile d’oublier de faire le contrôle. Pour cette raison, C++ propose une solution différente en introduisant les exceptions. Cela consiste à abandonner l’exécution normale du programme et à permettre à l’utilisateur d’effectuer les actions appropriées. Cette dernière approche présente aussi l’avantage de localiser les traitements de situations normales et de pallier les déficiences d’un utilisateur désinvolte en ne reprenant un traitement normal qu’après la prise en compte de l’erreur.
Pour simplifier cet exposé sur les exceptions, supposons une classe implantant des piles avec des fonctionnalités traditionnelles. Que faire, par exemple, lorsque l’on tente de dépiler un élément d’une pile vide ?
char stack::pop() {
if (top == 0) {
// que faire ?
}
return tab[– –top];
}
Les exceptions sont présentes en C++ pour traiter ce genre de situation. Elles permettent de signaler une erreur en détruisant les objets locaux et en sautant directement à un morceau de code que l’utilisateur est obligé de fournir. Lever une exception se fait au moyen de l’instruction throw <expr>. Ainsi, on pourrait modifier notre classe de pile en :
class stack {
public:
class empty : public exception {};
char pop () {
if (top == 0) {
throw empty();
}
return...
Vous êtes abonné à cette offre ?
Connectez-vous !
Vous souhaitez découvrir cette offre ?
Cet article est inclus dans l'offre :
TECHNOLOGIES LOGICIELLES ARCHITECTURES DES SYSTÈMES
DÉTAIL DE L'ABONNEMENT :
TOUS LES ARTICLES DE VOTRE RESSOURCE DOCUMENTAIRE
Accès aux :
Articles et leurs mises à jour
Nouveautés
Archives
Articles interactifs
Formats :
HTML illimité
Versions PDF
Site responsive (mobile)
Info parution :
Toutes les nouveautés de vos ressources documentaires par email
DES ARTICLES INTERACTIFS
Articles enrichis de quiz :
Expérience de lecture améliorée
Quiz attractifs, stimulants et variés
Compréhension et ancrage mémoriel assurés
DES SERVICES ET OUTILS PRATIQUES
Archives
Technologies anciennes et versions
antérieures des articles
Votre site est 100% responsive,
compatible PC, mobiles et tablettes.
FORMULES
Formule monoposte | Autres formules | |
---|---|---|
Ressources documentaires | ||
Consultation HTML des articles | Illimitée | Illimitée |
Quiz d'entraînement | Illimités | Illimités |
Téléchargement des versions PDF | 5 / jour | Selon devis |
Accès aux archives | Oui | Oui |
Info parution | Oui | Oui |
Services inclus | ||
Questions aux experts (1) | 4 / an | Jusqu'à 12 par an |
Articles Découverte | 5 / an | Jusqu'à 7 par an |
Dictionnaire technique multilingue | Oui | Oui |
(1) Non disponible pour les lycées, les établissements d’enseignement supérieur et autres organismes de formation. |
||
Formule 12 mois 2 060 € HT |
Autres formules |
4 - EXPRESSIONS ET INSTRUCTIONS
7 - EXCEPTIONS
Information
Quiz d'entraînement bientôt disponible
TECHNIQUES DE L'INGENIEUR
L'EXPERTISE TECHNIQUE ET SCIENTIFIQUE
DE RÉFÉRENCE
ÉDITION - FORMATION - CONSEIL :
Avec Techniques de l'Ingénieur, retrouvez tous les articles scientifiques et techniques : base de données, veille technologique, documentation et expertise technique
SOLUTION EN LIGNE
Automatique - Robotique | Biomédical - Pharma | Construction et travaux publics | Électronique - Photonique | Énergies | Environnement - Sécurité | Génie industriel | Ingénierie des transports | Innovation | Matériaux | Mécanique | Mesures - Analyses | Procédés chimie - bio - agro | Sciences fondamentales | Technologies de l'information
PAIEMENT
SÉCURISÉ
OUVERTURE RAPIDE
DE VOS DROITS
ASSISTANCE TÉLÉPHONIQUE
+33 (0)1 53 35 20 20