Ho un pezzo di codice che legge i dati da un file. Voglio forzare IOException in questo codice a scopo di test (voglio verificare se il codice genera un'eccezione personalizzata corretta in questo caso).Forza IOException durante la lettura del file
Esiste un modo per creare un file protetto da lettura, ad esempio? Forse affrontare alcuni controlli di sicurezza può aiutare?
Si prega di notare che passare il nome di un file inesistente non può essere d'aiuto, poiché FileNotFoundException ha una clausola catch separata.
Ecco il pezzo di codice per una migliore comprensione della questione:
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
}
}
}
Si può provare a leggere un file che non ti è permesso di leggere. Su Linux '/ proc/kcore' è una buona scommessa, come'/etc/shadow'. –
non una risposta, ma un'osservazione. È necessario avvolgere IOException con l'eccezione personalizzata per conservare l'intera traccia dello stack. per esempio: lancio di nuova SomeCusomException (e) ' –