Descrição:

O arquivo de cabeçalhos <errno.h> fornece alguns macros de números inteiros para reconhecer e relatar erros de execução através de códigos de erro, esses códigos são fornecidos pelo próprio sistema operacional e retornados ao programa durante sua execução.
A variável errno recebe um valor inteiro referente ao erro obtido. Uma tabela de todos os erros pode ser encontrada em errno.
Em um escopo de cálculos matemáticos, os que mais ocorrem são:

  • EDOM (33): Um argumento viola o domínio dos valores suportados, ou seja, quando deixa de pertencer aos números reais. Geralmente sua compilação não é impedida, porém, o resultado “nan” (not a number) é mostrado.

  • ERANGE (34): O resultado da função está fora do intervalo dos valores válidos. Quando utilizado junto com a biblioteca <math.h>, os resultados “inf”e “-inf” são obtidos.

Funções:

Não há funções nesta biblioteca.
Exemplo de uso:
              
//EXEMPLO ERRNO.h

#include <stdio.h>									
#include <math.h>
#include <errno.h>
#include <string.h>
  

int main(){
  printf("log(-1.0) = %f\n", log(-1.0));
  printf("Erro de número %d obtido!\n", errno);
  printf("Descrição do erro: %s\n\n", strerror(errno));
  
  printf("log(0.0) = %f\n", log(0.0));
  printf("Erro de número %d obtido!\n", errno);
  printf("Descrição do erro: %s", strerror(errno));
  
  return 0;
}

              
            
Saída do terminal:
              
  >clang-7 -pthread -lm -o main main.c
  >./main
  log(-1.0) = -nan
  Erro de número 33 obtido!
  Descrição do erro: Numerical argument out of domain

  log(0.0) = -inf
  Erro de número 34 obtido!
  Descrição do erro: Numerical result out of range