Exception Handling in Java involves using try, catch, throw, throws and finally keywords to handle errors and exceptions at runtime. An exception is an abnormal condition that occurs during execution. The try block contains code that might throw exceptions. Catch blocks handle specific exceptions. Finally blocks contain cleanup code. Methods use throws to declare exceptions they can throw but don't handle. Developers can create custom exception subclasses for application-specific exceptions.