Manipulation d'exception dans CPP |
 |
 |
Concept de manipuler l'exception
|
Le concept de la manipulation d'exception est très simple. L'idée fondamentale est simplement de soulever un drapeau d'erreur quand quelque chose tourne mal. Après, il y a un système qui toujours surveillance pour des ces drapeau d'erreur. en conclusion, le système précédent appelle un code de gestion d'erreur si un drapeau d'erreur est repèré.
|
Program Flow
soulevant un drapeau imaginaire d'erreur s'appelle lancement vers le haut d'une erreur. Quand l'erreur est jetée le système global répondra en décelant une erreur. Entourant le bloc du code erreur-sensible avec une manipulation d'exception s'appelle essai d'exécuter le bloc de code.
|
Les dispositifs les plus puissants de la manipulation d'exception est, une erreur peuvent être jetés au-dessus des frontières de fonction. Signifie que si un d'les fonctions les plus profondes sur une pile a l'erreur, ceci peut être propagation à une fonction supérieure s'il y a essayer-bloquent d'un code là. Ceci permettra aux programmeurs de mettre un code de gestion d'erreur dans un endroit, comme la principal-fonction du programme.
|
Manipulation d'exception de C++
|
Concepteurs du langage de programmation de C++, prolongés la langue avec les structures de manipulation d'exception. Les commandes qui sont employées lient étroitement aux termes utilisés dans la manipulation d'exception (comme décrit ci-dessus). Bloc de code que vous voulez pour essayer des débuts en indiquant une commande de « essai » et en entourant un bloc avec les croisillons bouclés. À l'intérieur de ce bloc, on te permet de jeter les erreurs de occurrence avec une commande de « jet ». Vous devriez indiquer l'erreur et ceci doit être une classe. Après qu'essayer-bloquer soit fermé, attraper-bloquent commence. Ceci est illustré dans le code ci-dessous.
|
try
{
...
...
throw Exception()
...
...
}
catch( Exception e )
{
...
...
}
|
|
Ici l'exception est la classe définie avec le constructeur sans des paramètres passé. Il sera utile d'avoir l'information sur quel type d'erreur s'est produit. Ceci peut être fait par deux méthodes. L'un ou l'autre peut définir les différentes exception-classes et puis les jeter selon l'erreur produit. Ou peut donner un paramètre de classe contenir le message d'erreur et permettre à une classe de montrer le message.
|
Système de transport d'exception
|
Une classe que nous sommes sur le point de concevoir devrait devoir stocker les informations sur une erreur qui s'est produite et une classe devrait pouvoir montrer le message d'erreur. Le code suivant montre cette fonctionnalité.
|
class CException
{
public:
char* message;
CException( char* m )
{
message = m
};
Report();
}
|
|
Keywords Exception Handling, exception source, exception errors, exception table, exception package,
database handling, exception xml, string exception, exception message, exception catching,
exception net, exception error, thread handling, client handling, try exception,
exception handler, exception finally, error handling, thread exception, xml handling,
exception form, function exception, string handling, exception vb, exception code,
exception object, form handling, exception raise, session handling, exception example,
message handling
|