Nenormalen konec je nenaden in nepričakovan konec delujočega računalniškega programa ali aplikacije. Njegovo ime izvirno izhaja iz starejšega operacijskega sistema IBM 360, ki je opazil takšne zaključke kot napake ABEND. Do nenormalnega konca programa lahko pride iz več različnih razlogov, vendar najpogostejši razlogi vključujejo težave s sistemskim pomnilnikom ali težave v kodi programske opreme. Ko pride do te vrste prekinitve, se program zapre sam in operacijski sistem ukrepa, da ublaži škodo, tako da izprazni pomnilnik programa in deluje, kot da se je program v tipičnih situacijah uspešno zaprl.
Težave v sistemskem pomnilniku v računalniku lahko sprožijo nenormalen konec enega ali več programov v sistemu. Ko računalnik dovoli puščanje pomnilnika – ko dovoli programu, da piše v pomnilnik, ki mu ga operacijski sistem ni dodelil – lahko nehote prepiše dele pomnilnika, ki so pripadali drugemu programu. Ko “vpadli” program poskuša povrniti informacije, shranjene v napadenih delih pomnilnika, ne bo več našel pravilnih, pričakovanih podatkov. To neskladje pogosto povzroči popolno zrušitev aplikacije, saj se ne more zagnati z uporabo prepisanih informacij, ki jih je shranil napadalni program.
Težave s programsko kodo lahko včasih sprožijo nenormalen konec programa. Če ima programska oprema napake ali ne vsebuje zadostne kode za obravnavo napak, lahko napačni vnosi končnega uporabnika povzročijo nenormalno ukinitev programske opreme. Na primer, program, ki od končnega uporabnika zahteva, da vnese svojo telefonsko številko, bo običajno kodiran tako, da je vsak neštevilčni odgovor, ki ne vsebuje 10 števk, takoj “ujet” kot potencialno napako in se vrne končnemu uporabniku kot slab rezultat. Nezrela ali nepopolna programska oprema, ki ne vključuje te kode za obravnavo napak, se lahko zruši, če prejme napačen vnos; program ne bo kos, če se končni uporabnik odloči, da bo kot svojo domnevno telefonsko številko vnesel »abcdefg«.
Ko pride do nenormalnega konca, operacijski sistem običajno opozori uporabnika računalnika, da je prišlo do prenehanja programa. Ko to storite, je naloga operacijskega sistema, da si opomore po zrušitvi, ne da bi pri tem negativno vplivala na katerega koli od drugih programov v sistemu. Za to običajno sprosti pomnilnik, ki ga je dodelil programu, natanko tako, kot bi bil, če bi se program uspešno končal. Podatki o nenormalni prekinitvi programa se pogosto shranijo v dnevnike zrušitev operacijskega sistema, kar končnemu uporabniku omogoča, da pregleda informacije o zrušitvah in poišče potencialni temeljni vzrok za konflikt.