Mam fragment kodu, który odczytuje dane z pliku. Chcę wymusić wyjątek IOException w tym kodzie do celów testowych (chcę sprawdzić, czy kod zgłasza w tym przypadku poprawny niestandardowy wyjątek).Wymusza wyjątek IOException podczas odczytu pliku
Czy istnieje sposób na utworzenie pliku, który jest chroniony przed odczytaniem, na przykład? Być może radzenie sobie z niektórymi kontrolami bezpieczeństwa może pomóc?
Należy pamiętać, że podanie nazwy nieistniejącego pliku nie może pomóc, ponieważ FileNotFoundException ma osobną klauzulę catch.
Oto fragment kodu dla lepszego zrozumienia kwestii:
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
}
}
}
Można spróbować czytania pliku, że nie wolno nam czytać. W systemie Linux '/ proc/kcore' jest dobrym wyborem, podobnie jak'/etc/shadow'. –
nie jest odpowiedzią, ale spostrzeżeniem. Powinieneś owinąć wyjątek IOException niestandardowym wyjątkiem, aby zachować pełne śledzenie stosu. tj. "throw new SomeCusomException (e)" –