Erange dans la langue C

Erange dans la langue C
Si une erreur se produit lors de l'appel d'une fonction, que ce soit en raison de l'incompatibilité ou de la taille des données, les valeurs hors de portée ou une autre raison, la plupart des fonctions fournies par la vaste bibliothèque du langage C renvoient une valeur prédéfinie qui indique au programmeur quoi faire si Une erreur est survenue.

Ceci est crucial car il détermine la stabilité, la fiabilité et la robustesse du programme final que nous compilons.

Par exemple, la fonction fopen () renvoie «0» s'il ne pouvait pas ouvrir correctement le fichier spécifié pour une raison quelconque. Cependant, dans des fonctions telles que les mathématiques, une valeur numérique de «0» pourrait représenter un résultat correct. Ce type de retour ne rapporte qu'une erreur mais ne peut pas spécifier lequel il est.

La bibliothèque standard du langage C fournit une variété de codes d'erreur prédéfinis dans le «errno.en-tête h ”.

Ces codes d'erreur sont spécifiques et indiquent l'origine ou la cause de l'erreur. Par conséquent, ils sont un outil très pratique lorsqu'il s'agit d'ajouter de la robustesse à notre programme.

Dans ce Indice de linux Article, nous expliquerons le Éroger code d'erreur qui indique les valeurs hors de portée. Nous examinerons les causes qui causent cette erreur et comment les réparer. Ensuite, nous générons cette erreur dans les fragments de code que nous accompagnerons des images qui montrent sa détection et ses solutions possibles.

Code d'erreur ERange: définition et représentation numérique

#Define Erange 34

Code d'erreur ERange Description

Le code d'erreur Éroger représente une exception hors de portée qui se produit généralement lorsqu'une fonction renvoie une valeur trop grande pour dépasser la taille d'un long. Ce code d'erreur est représenté dans GCC avec la valeur entière de 34.y qui est prédéfini dans le «errno.en-tête h ”.

Si l'une de ces erreurs se produit dans une fonction mathématique, la fonction renvoie un résultat infini ou -infirme. Et la représentation numérique du code d'erreur Erange est automatiquement stockée dans la variable «errno» du type int externe qui est prédéfinie dans le «errno.fichier h ”.

La variable «errno» stocke le code numérique de la dernière erreur. Chaque fois que nous récupérons la valeur qui y est stockée, nous devons nettoyer son contenu.

Cet et tous les autres codes d'erreur de bibliothèque standard sont définis dans le «errno.Fichier d'en-tête h ”. Pour utiliser ces codes, nous devons insérer cet en-tête dans notre code comme suit:

#inclure

Une fois le «errno.L'en-tête h ”est défini dans notre code, nous pouvons utiliser cette ressource pour interroger et classer les différentes erreurs qui peuvent se produire pendant le processus.

Comment détecter une erreur hors de portée avec la variable «Errno» et le code Erange dans la langue C

Dans cet exemple, nous créerons une erreur hors de portée et montrerons comment vous pouvez les détecter et les classer en récupérant les informations de la variable «Errno» prédéfinie dans la «Errno.en-tête h ”.

Nous générons l'erreur en essayant de calculer le logarithme de 0 à l'aide de la fonction log ().

Lorsque nous essayons d'obtenir le logarithme de 0, cette fonction renvoie «-inf» en conséquence et génère le code d'erreur - hors gamme ou Éroger.

Vous pouvez voir le fragment de code dans lequel nous essayons d'obtenir le logarithme de zéro dans ce qui suit. Le résultat affiché dans la console de commande:

#inclure
#inclure
#inclure
vide main ()

Double R;
r = log (0);
printf ("Le logarithme de 0 est:% f \ n", r);

L'image suivante que nous voyons montre le résultat de l'exécution de ce fragment:

L'extrait suivant effectue la même opération mais imprime le contenu de la variable «Errno» à la console de commande avec le numéro d'erreur qui est généré lorsque vous essayez d'obtenir le logarithme de 0:

#inclure
#inclure
#inclure
vide main ()

Double R;
r = log (0);
printf ("le logarithme de 0 est:% d \ n", errno);

Comme nous pouvons le voir dans la figure suivante, la variable «errno» contient l'Intier 34 qui est définie dans le «errno.en-tête h ”pour le Éroger Erreur ou erreur d'erreur:

Comme nous l'avons vu dans cet exemple, les deux Éroger et tout autre code d'erreur défini dans le «Errno.L'en-tête h ”peut être interrogé via la variable« errno ».

Il est important de nettoyer cette variable dès que nous en récupérons les données, car cela peut entraîner une confusion ou des interprétations d'erreur incorrectes. Pour ce faire, nous le définissons sur zéro comme indiqué dans la ligne de code suivante:

errno = 0;

Conclusion

Dans ce Indice de linux Article sur la langue C, nous avons appris le sens du Éroger code d'erreur qui fait partie de l'ensemble de codes de bibliothèque standard qui est défini dans le «errno.en-tête h ”. Nous vous avons également montré pourquoi cette erreur est générée, sa représentation numérique et la variable «errno» qui est utilisée pour traiter et stocker ce code. Nous espérons que cet article a été utile. Pour plus d'articles sur la langue C, utilisez le moteur de recherche sur notre site Web.