Poikkeus tarkoittaatietotekniikassa ennakoimattomia tai epänormaaleja tilanteita järjestelmän toiminnassa.[1] Käsittelemättömät poikkeukset voivat johtaa järjestelmänkaatumiseen.[1]
Poikkeus onohjelmointikielissä keino ilmoittaa vikatilanteesta ja palauttaa toiminta toiselle tasolle tilanteen käsittelemiseksi.[2][3] Laitteistotasolla poikkeus tarkoittaa normaalin suorituksen keskeyttämistäsuorittimessa, kuten virheellinen käsky tai suojattu muistialue.[4][5]
Laitteistotason poikkeuksia ovat muun muassa:[6][7]
Poikkeuksien yksi esimerkkikohteista ovat erilaisetohjelmakirjastot. Ohjelmakirjaston ajonaikaiset virheet voi usein kirjaston tekijä havaita mutta hän ei tiedä miten menetellä sellaisen kanssa. Ohjelmakirjastoa käyttävä ohjelma/ohjelmoija tietää miten kertoa poikkeus ohjelman käyttäjälle tai reagoida siihen muulla tavoin.
Tavallisesti poikkeus yritään kokeillatry-funktiolla (tai muulla koodikielessä olevalla vastaavalla funktiolla) ja poikkeustilanteessa käsiteltävä koodi jälkeenpäinexcept-funktiolla (tai jälleen muulla koodikielessä olevalla vastaavalla). On myös mahdollista saada koodi tunnistamaan juuri tietty poikkeustyyppi.
>>>var1=False>>>var2=99>>>try:print(var1/var2)except:print("error")error
try...catch -lausetry...except, taitry...finallyC-kielessä poikkeukset on mahdollista toteuttaa itsesetjmp jalongjmpstandardikirjastonfunktioiden avulla.[8]