Las excepciones no controladas son aquellas que reflejan un error dentro de la lógica del programa que estamos desarrollando.
Este tipo de excepciones no se comprueban en tiempo de compilación, por tanto, no es necesario englobar este tipo de excepción en un throws o un try-catch.
En la gestión de ficheros, este tipo de excepción no será la más usual, pero sí que se tiene que tener en cuenta, porque puede que se reproduzca en algún momento si alguno de los parámetros que usemos esta vacío o null.
Los más usuales serán:
- RuntimeException: se lanza cuando se produce un error con la máquina virtual de Java.
- NullPointerException: se lanzará siempre que uno de los campos que se le pasen al programa esté vacío.
- IllegalArgumentException: se lanzará esta excepción cuando uno de los argumentos que se le pasen a un método no sea válido.
- SecurityException: cuando se produce algún problema de seguridad.
- UncheckedIOException: cuando se produce una excepción no controlada.