Poikkeus

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.

Laitteistopoikkeukset 
Laitteistotason poikkeuksia ovat muun muassa:
 nollalla jakaminen
 viittaus väärään muistialueeseen
 virheellinen käsky

Ohjelmistopoikkeukset 
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.

Poikkeuksien käsitteleminen 
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.

Poikkeuksenkäsittely Pythonissa 
>>> var1=False
>>> var2=99
>>> try:
       print(var1/var2)
    except:
       print("error")
error

C++, Java
 try...catch -lause

Pascal, Python ja Delphi
 try...except, tai
 try...finally

Muut kielet 
C-kielessä poikkeukset on mahdollista toteuttaa itse setjmp ja longjmp standardikirjaston funktioiden avulla.

Lähteet 

Ohjelmointi