Я тренируюсь с попыткой использования ресурсов, чтобы мои методы могли это понять.Это мой пример метода.
public void a(File f) throws FileNotFoundException, IOException {
try (FileInputStream fis = new FileInputStream(f)) { // suppose FileNotFoundException occurs here
byte[] buffer = new byte[7];
fis.read(buffer); // suppose IOException occurs here
}
}
Теперь предположим, что исключение возникает как FileNotFoundException
для нового FileInputStream () и IOException
для fis.read ().
это использование моего метода в другом классе.
try {
a(new File(""));
} catch (IOException ex) {
ex.printStackTrace();
Throwable[] suppressedExceptions = ex.getSuppressed();
if (suppressedExceptions.length > 0)
for (Throwable exception : suppressedExceptions)
System.err.println(exception.toString());
}
Как в предыдущем коде.Должен ли я всегда использовать метод getSuppressed()
при использовании try-with-resources?И когда, где и как я должен использовать метод addSuppressed()
?