Programski jezik otvorenog koda Rubin poznat je po svojoj jasnoj sintaksi i jednostavnosti uporabe. To ne znači da nećete povremeno naići na poruku o pogrešci. Jedan od najneobuhvatnijih izuzeća je neinicijalizirani ConstantError izuzetak koji ima više razloga. Sintaksa iznimke slijedi ovaj format:
Da biste riješili svoj kôd, proučite ga mogućih uzroka koji su gore navedeni jedan po jedan. Ako pronađete problem, riješite ga. Na primjer, prođite kroz kôd tražeći odstupanje između velikih i malih slova u varijablama i klasama. Ako ga pronađete i ispravite, vaš je problem vjerojatno riješen. Ako nije, nastavite s ostalim mogućim uzrocima, popravljajući vas dok idete.
Ako je klasa na koju se pozivate u kodu nalazi se u drugom modulu, odnosite se prema njemu sa svojim punim nazivom ovako:
Iznimke su kako Ruby skreće vašu pažnju na probleme u kodu. Kada dođe do pogreške u kodu, iznimka se "podiže" ili "baci", a program se prema zadanom isključuje.
Ruby objavljuje hijerarhiju izuzetaka s unaprijed definiranim klasama. NameErrors su u klasi StandardError, zajedno s RuntimeError, ThreadError, RangeError, ArgumentError i drugi. Ova klasa uključuje većinu uobičajenih izuzetaka na koje nailazite u tipičnim Ruby programima.