O que é um fim anormal?
Um fim anormal é o encerramento abrupto e inesperado de um programa ou aplicativo de computador em funcionamento. Seu nome originalmente deriva do sistema operacional IBM 360 mais antigo, que observou terminações como erros de ABEND. Um final anormal de um programa pode ocorrer por vários motivos diferentes, mas os motivos mais comuns envolvem problemas com a memória do sistema ou problemas no código do software. Quando esse tipo de encerramento ocorre, o programa é fechado por si próprio e o sistema operacional intervém para mitigar os danos, liberando a memória do programa e agindo como se o programa tivesse sido encerrado com êxito em situações típicas.
Problemas na memória do sistema em um computador podem desencadear um fim anormal para um ou mais programas no sistema. Quando o computador permite que ocorra um vazamento de memória - quando permite que um programa grave na memória que não foi atribuída a ele pelo sistema operacional - ele pode substituir inadvertidamente partes da memória pertencentes a outro programa. Uma vez que o programa "invadido" tente recuperar as informações armazenadas nas seções invadidas da memória, ele não encontrará mais os dados corretos e previstos. Essa discrepância geralmente resulta em uma falha completa do aplicativo, pois não pode ser executado usando as informações substituídas salvas pelo programa invasor.
Às vezes, problemas com o código do software podem desencadear um fim anormal para um programa. Se o software apresentar bugs ou não contiver código de manipulação de erros suficiente, as entradas incorretas do usuário final poderão resultar no encerramento anormal do software. Por exemplo, um programa que solicita ao usuário final que insira seu número de telefone geralmente será codificado para que qualquer resposta não numérica que não contenha 10 dígitos seja imediatamente "capturada" como um erro em potencial e retornada ao usuário final como um resultado ruim. O software imaturo ou incompleto que não inclui esse código de tratamento de erros pode falhar ao receber entradas incorretas; o programa não poderá lidar se o usuário final decidir digitar "abcdefg" como seu suposto número de telefone.
Quando ocorre um fim anormal, o sistema operacional geralmente alerta o usuário do computador que ocorreu o encerramento do programa. Depois disso, o trabalho do sistema operacional é recuperar a falha sem afetar adversamente nenhum dos outros programas no sistema. Para fazer isso, normalmente libera a memória que atribuiu ao programa, exatamente como faria se o programa tivesse terminado com êxito. As informações sobre o encerramento anormal do programa geralmente são salvas nos logs de falha do sistema operacional, permitindo que o usuário final revise as informações da falha para procurar uma causa raiz em potencial para o conflito.