errno
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| — | errno [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1 | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | ====== Tratamento de Erros ====== | ||
| + | A maioria das funções devolve somente uma indicação de que houve erro em sua execução, seja através de um valor negativo, seja através de um ponteiro nulo. | ||
| + | |||
| + | O erro ocorrido na função é armazenado na variável **errno**, definida internamente no sistema e disponibilizada no programa através da colocação do arquivo errno.h na compilação do programa. Dentro deste arquivo //header// também são definidas as constantes mnemônicas dos possíveis erros que podem acontecer nas funções. | ||
| + | |||
| + | Em caso de se necessitar testar um erro específico, | ||
| + | |||
| + | Um fator importante de ser citado é que as funções não zeram o valor da variável **errno** caso não ocorra erro nas funções. Isto obriga ao programador usar a variável **errno** somente depois de ter verificado se a função realmente retornou erro. | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | int main (void) | ||
| + | { | ||
| + | int iFileDescriptor; | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | if (iFileDescriptor < 0) | ||
| + | { | ||
| + | fprintf(stderr, | ||
| + | } | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | pois a variável continua com o valor do último erro ocorrido. */ | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Outras Funções ===== | ||
| + | * [[strerror]] | ||
| + | * [[perror]] | ||
| + | |||
| + | |||