Una excepción, en programación, es un evento no planificado, como una entrada no válida o una pérdida de conectividad, que ocurre mientras un programa se está ejecutando e interrumpe el flujo de sus instrucciones. Excepción es una forma corta de decir evento excepcional.
En Java, las excepciones existen como clase, java.lang.Exception, con dos subclases principales, IOException y RuntimeException. Las excepciones marcadas ocurren cuando se compila el programa; en su mayor parte, el programa debería poder recuperarse de estos. Pueden ser cosas como FileNotFoundException, por ejemplo, o InvalidInputException. Se puede escribir código de manejo de excepciones para tratar el problema, de modo que el programa pueda continuar.
Las excepciones no marcadas son eventos que no están planificados, por lo que no se comprueban en el momento de la compilación; ocurren cuando el programa se ejecuta y, por lo general, no se pueden manejar. Una excepción no verificada que no puede ser manejada por el programa se conoce como una excepción fatal porque obliga al sistema operativo a cerrar el programa y posiblemente apagar todo el sistema. Un error es un tipo de excepción no comprobada, aunque existen otras.