O controle, validação e exibição de erros em programas escritos utilizando a linguagem C, fica a cargo de
quem está programando. Porém, C fornece algumas funções para nos auxiliar na verificação de erros internos
das funções que utilizamos.
Para saber qual foi o último erro ocorrido em nossos programas, utilizamos errno
que armazena um valor inteiro. O valor de errno é iniciado como 0 e pode ser
modificado internamente por qualquer função disponível em C, por exemplo.
Também podemos atribuir nossos próprios números de erros utilizando errno atribuindo
valores não utilizados por padrão.
Para utilizarmos errno, mencionado acima, precisamos adicionar sua bibliotecas
<errno.h>como pode ser visto na sintaxe a seguir:
Sintaxe
#include <errno.h>
No exemplos abaixo, vamos tentar abrir um arquivo inexistente que fará com que
errno tenha seu valor alterado para o valor do erro interno 2 ocorrido na
função fopen.
Exemplo 1
#include <stdio.h>
#include <errno.h>
int main ()
{
FILE *arq = fopen ("arq.xyz", "r"); //errno 2: No such file or directory
if (arq == NULL)
{
printf("errno: %d \n", errno);
}
fclose (arq);
return (0);
}
Saída
errno: 2
Cada função contida na biblioteca nativa da linguagem C irá setar seu valor de erro
quando ocorrer.
Fica a cargo do programador verificar previamente quais são os possíveis erros, realizar
os devidos tratamentos, informar os erros de forma amigável ao usuário e encerrar
o programa.