Java-ში ხარვეზები დამუშავებულია try/catch/finally-ით და უნიკალურად განასხვავებს checked გამონაკლისებს (უნდა იყოს გამოცხადებული ან დამუშავებული) unchecked გამონაკლისებისგან (runtime-ი, არ არის აკრძალული). ამ განსხვავების გაგება არის Java-ს ხარვეზების დამუშავების ცენტრალური ნაწილი.
