A kivételek olyan értékek, amiket el lehet dobni a throw kifejezéssel, és el lehet kapni a try blokk catch ágában.
Amikor egy ilyen throw utasítás kiértékelődik, "throw e" példáúl, az e alkifejezés kiértékelődik
egy kivétellé. "e" statikus típusának az Exception altípusának kell lennie. Ekkor a throw blokk
a vezérlést átadja az őt dinamikus tárolóblokkjának (koncentrikusan), mindaddig amíg vagy olyan
try blokkba ér, ami olyen catch ágat tartalmaz, ami illeszkedik "e" -re, vagy eléri a legkülső
blokkot.
Ha a try blokk tartalmaz finally ágat is, akkor az még azelött kiértékelődik, hogy a vezérlés
a fentiek alapján átadódna.
Exception alapdeklarációk:
trait Exception comprises { CheckedException, UncheckedException }
end
trait CheckedException extends Exception exluced UncheckedException
end
trait UncheckedExpression extends Exception exludes CheckedException
end
Minden típus vagy a CheckedException, vagy az UncheckedException típus
altípusa.
(A nyelvspecifikáció nem tér ki arra, hogy miben különbözik a két kivételtípus).