Java zpracovává chyby pomocí try/catch/finally a jedinečně rozlišuje mezi kontrolovanými výjimkami (musí být deklarovány nebo zpracovány) a nekontrolovanými výjimkami (běhové, nevynucované). Pochopení tohoto rozlišení je ústředním bodem zpracování chyb v Javě.
