Poikkeus tarkoittaa tietotekniikassa ennakoimattomia tai epänormaaleja tilanteita järjestelmän toiminnassa. Käsittelemättömät poikkeukset voivat johtaa järjestelmän kaatumiseen.
Poikkeus on ohjelmointikielissä keino ilmoittaa vikatilanteesta ja palauttaa toiminta toiselle tasolle tilanteen käsittelemiseksi. Laitteistotasolla poikkeus tarkoittaa normaalin suorituksen keskeyttämistä suorittimessa, kuten virheellinen käsky tai suojattu muistialue.
Laitteistotason poikkeuksia ovat muun muassa:
Poikkeuksien yksi esimerkkikohteista ovat erilaiset ohjelmakirjastot. 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 kokeilla try-funktiolla (tai muulla koodikielessä olevalla vastaavalla funktiolla) ja poikkeustilanteessa käsiteltävä koodi jälkeenpäin except-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 itse setjmp ja longjmp standardikirjaston funktioiden avulla.