Essayez Catch in Matlab

Essayez Catch in Matlab
L'article suivant explique comment utiliser l'instruction TRY-PATCH dans MATLAB®. L'instruction d'essai est l'un des langages de programmation les plus utilisés à l'échelle mondiale, et son mode d'exécution est le même pour tous. Cet article comprend des exemples et des images pratiques pour aider le lecteur à comprendre comment utiliser cette déclaration pour gérer les erreurs en temps réel.

Matlab essayez la syntaxe de capture

essayer
affirmations
attraper une exception
affirmations
fin

Matlab Try Try Catch Descriptions et Exemples

Une instruction TRY-PATCH est un outil qui donne à la stabilité du programme et à la robustesse contre les exceptions ou les erreurs en temps d'exécution réel. Ces exceptions ou erreurs peuvent être capturées de sorte que lorsque l'un de ces événements se produit, ils peuvent être gérés de manière prévisible et ordonnée et n'affecter pas les performances du système.

L'instruction TRY-PATCH se compose de deux blocs: Essaye est le bloc qui entoure la partie du code qui peut générer une exception ou une erreur, et la capture est le bloc qui gère ces exceptions à traiter en toute sécurité. Lorsqu'un essai attrape une exception, il passe le contrôle pour attraper le traitement. Ci-dessous, nous examinerons quelques exemples pratiques en utilisant la déclaration de couple d'essai pour mieux comprendre comment cela fonctionne.

Comment détecter et traiter une exception ou une erreur avec l'instruction TRY-PATCH dans MATLAB

Cet exemple montre comment utiliser l'instruction TRY-Catch sur une erreur courante lors du calcul des racines carrées avec la fonction realsqrt (). C'est l'une des trois fonctions de base que Matlab a pour ce type d'opération mathématique, et il n'accepte que des nombres réels avec un signe positif comme arguments d'entrée. Si cette règle n'est pas satisfaite, une erreur est générée.

Ensuite, envisageons de détecter et de gérer cette erreur en créant une application de console qui calcule les racines carrées à l'aide de la fonction realsqrt (). Cette opération est effectuée dans le bloc d'essai. Lorsqu'une erreur se produit, le contrôle est passé pour prendre pour résoudre le calcul à l'aide de la fonction SQRT (), qui accepte des nombres négatifs ou complexes.

Créez un script, collez ce code et cliquez sur Exécuter. Pour fermer l'application, appuyez sur Ctrl + C

tandis que 1
inside = 'entrez une valeur pour obtenir sa racine carrée.';;
a = entrée (invite);
essayer
x = realsqrt (a);
attraper
Disp 'Essayez une erreur et transmet le contrôle pour attraper'
x = sqrt (a);
fin
disp (['la racine carrée est:', num2str (x)])
fin

Une fois l'application en cours d'exécution, nous entrons les valeurs dont nous avons besoin pour calculer la racine carrée.

Si des valeurs négatives ou complexes sont entrées, au lieu d'augmenter une erreur dans la fonction realsqrt (), il passera le contrôle pour attraper, et l'opération est résolue avec la fonction SQRT (). Lorsque cela se produit, le message suivant s'affiche dans la console de commande:

"Essayez de trouver une erreur et passez le contrôle pour attraper"

Comment identifier les erreurs avec «Mexception» et les gérer avec Try Catch dans Matlab

Bien que l'identification des exceptions avec «Mexception» mérite son propre article, nous expliquerons brièvement comment utiliser cette ressource, ce qui nous aide à identifier les erreurs et est un complément efficace lorsque vous utilisez l'instruction TRY-Catch. MATLAB construit un objet «Mexception» avec des informations sur l'erreur lorsqu'une erreur est générée. Ces informations sont très utiles car nous pouvons l'utiliser pour classer et gérer diverses erreurs spécifiques. Vous pouvez voir le contenu de «Mexception» avec des informations sur une erreur générée par la fonction unique ().

Dans l'exemple suivant, nous verrons comment récupérer ces informations pour traiter correctement les erreurs. Pour ce faire, nous créerons une application de console dans laquelle nous utiliserons la fonction unique () pour générer les erreurs que nous gérerons dans le bloc de capture et la fonction invite () pour saisir les données qui seront les arguments d'entrée d'unique ().

Lorsqu'un essai attrape l'une de ces erreurs, il stocke ses informations dans la «Mexception», que nous créerons avec le nom «inf_err», comme indiqué ci-dessous.

attraper inf_err

Dans le bloc de capture, nous envoyons un message à l'utilisateur l'informant de détecter une erreur avec le message suivant "Try a trouvé une erreur et un contrôle passé à attraper".

Ensuite, nous prenons l'identifiant d'erreur de l'objet créé précédemment «ERR_INF.identifiant ». Cet identifiant a la forme d'une chaîne et nous donne des informations sur:

La fonction qui l'a généré Matlab: unique

Et l'erreur spécifique Inconnu

'Matlab: unique: inconnu

Cette chaîne sera l'argument que le commutateur conditionnel se comparera à chacune des erreurs prédéfinies dans chaque cas.

Switch Inf_err.identifiant
case 'Matlab: unique: inconnu

Case 'Matlab: Unique: Unknownflag'

fin

Une solution possible à l'erreur ou un message à l'utilisateur sera donnée dans chaque cas.

Créez un script, collez ce code et exécutez le script. Pour fermer l'application, appuyez sur Ctrl + C.

ns = [1, 2, 3; 4, 5, 6];
tandis que 1
invite = 'entrez une valeur pour obtenir.';;
a = entrée (invite);
essayer
x = unique (ns, a);
attraper inf_err
Disp 'essayez une erreur et transmise le contrôle pour attraper';
Disp (['Error Identifier:', inf_err.identifiant]);
Switch Inf_err.identifiant
case 'Matlab: unique: inconnu
Disp 'L'entrée spécifiée n'a pas pu être trouvée. Veuillez réessayer.';;
Case 'Matlab: Unique: Unknownflag'
Disp 'La fonction unique () ne reconnaît pas le drapeau:';
disp (a);
Disp 'FACHES VALIDES SONT "ROWS', 'First', 'Last', 'Stable', 'Trised';
fin
fin
inside = 'Appuyez sur Entrée pour continuer';
a = entrée (invite);
CLC ();
fin

Les données entrées via l'invite sont envoyées comme le deuxième argument d'entrée à la fonction unique (). Cette entrée correspond aux «lignes», «premier», «dernier», «stable», «triés» ou «hérités» de cette fonction, donc elle générera une erreur si une chaîne est envoyée ce () non unique () reconnu comme l'un de ces drapeaux. Il générera également une erreur si cette entrée reçoit une valeur numérique. Nous avons prédéfini un cas dans le commutateur conditionnel pour chacune de ces deux erreurs pour gérer chaque erreur séparément. Dans les deux cas, des messages sont envoyés à l'utilisateur les informant de l'erreur et des solutions possibles.

Lorsque l'application est en cours d'exécution dans la console MATLAB, entrez les «lignes» dans l'invite et appuyez sur Entrée. Dans ce cas, aucune erreur n'est générée, et le résultat est = unique (ns, «lignes») et s'affiche dans la console de commande.

Dans ce cas, la chaîne `` ABCD '' a été envoyée à unique (), et comme il ne correspond à aucun des drapeaux, une erreur a été générée.

Dans le bloc «Catch», les informations sur cette erreur ont été collectées et classées pour lui donner un traitement spécial, un message à l'utilisateur avec les options de drapeau disponibles dans la fonction unique ().

Le même dans ce cas où un type d'entrée non accepté a été envoyé, cela générera une erreur que le bloc «essai» détecte et transmet le contrôle au bloc «Catch» où l'erreur est classée et traitée; Dans ce cas, un message à l'utilisateur signalant l'erreur et la solution possible.

Conclusion:

Dans cet article, nous avons expliqué la déclaration de couple d'essai dans MATLAB. Nous avons également donné quelques exemples pratiques qui démontrent l'utilisation de la «déclaration de couple d'essai pour gérer les exceptions. Nous avons également expliqué comment classer les erreurs dans le bloc «Catch» en utilisant l'objet Mexception. Nous espérons que vous avez trouvé cet article MATLAB utile. Voir d'autres articles sur les indices Linux pour plus de conseils et d'informations.