Tengo un fragmento de código que lee datos de un archivo. Quiero forzar IOException en este código para fines de prueba (quiero comprobar si el código arroja una excepción personalizada correcta en este caso).Force IOException durante la lectura de archivos
¿Hay alguna manera de crear un archivo que esté protegido de la lectura, por ejemplo? Tal vez lidiar con algunos controles de seguridad puede ayudar?
Tenga en cuenta que pasar el nombre de un archivo inexistente no puede ayudar, porque FileNotFoundException tiene una cláusula de catch por separado.
Aquí está la pieza de código para una mejor comprensión de la pregunta:
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(csvFile));
String rawLine;
while ((rawLine = reader.readLine()) != null) {
// some work is done here
}
} catch (FileNotFoundException e) {
throw new SomeCustomException();
} catch (IOException e) {
throw new SomeCustomException();
} finally {
// close the input stream
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// ignore
}
}
}
Usted puede intentar leer un archivo que no está autorizado a leer. En Linux '/ proc/kcore' es una buena apuesta, como lo es'/etc/shadow'. –
no es una respuesta, sino una observación. Debería envolver la IOException con su excepción personalizada para conservar el seguimiento completo de la pila. es decir, 'lanzar nueva SomeCusomException (e)' –