Java menangani ralat dengan try/catch/finally, dan secara unik membezakan pengecualian checked (mesti diisytiharkan atau dikendalikan) daripada pengecualian unchecked (runtime, tidak dikuatkuasakan). Memahami perbezaan ini adalah pusat kepada penanganan ralat Java.
