Tratamento de Exceção em C

    O tratamento de exceções é a maneira pela qual uma linguagem de programação consegue tratar erros que podem vim ocorrer durante a execução de um determinado bloco de cógido. Ou seja, toda vez que for encontrado um erro o compilador interrompe a execução do método que estava e é direcionado a uma parte do código responsável por tratar os erros.

 

    Na linguagem C, não existe um tratamento de exceção pré-definido. O tratamento de erros é feito por códigos retornados por funções. Logo, a aplicação deve testar todos os possíveis códigos retornados pela função, ou seja, deve testar se existiu algum erro dentre todos os erros possíveis para aquele tipo de execução. Isso se torna ruim, uma vez que se for esquecido o tratamento de determinado erro, o sistema continua a sua execução e compromete o resto da aplicação. Um exemplo típico desta abordagem são as indicações geralmente retornadas por system calls: por exemplo, quando se executa a rotina do sistema operacional para abrir um arquivo, open, para fechar, close, para ler, read, etc., um valor de retorno positivo (+1)  indica sucesso da operação, enquanto que um valor negativo (-1) indica uma condição de erro (arquivo especificado não existe, usuário não tem permissão de acesso, sistema não consegue abrir mais arquivos).

 

 

Fontes:

https://www.dca.fee.unicamp.br/cursos/POOCPP/node51.html

https://pt.wikipedia.org/wiki/Tratamento_de_exce%C3%A7%C3%A3o