public class Solution {
public static StatelessBean BEAN = new StatelessBean();
public static void main(String[] args) {
try{
handleExceptions();
}
catch(FileSystemException exeption) {
BEAN.log(exeption);
}
}
public static void handleExceptions() {
try{
BEAN.methodThrowExceptions();
}
catch(FileSystemException exeption) {
BEAN.log(exeption);
throw exeption;
}
catch(CharConversionException e) {
BEAN.log(e);
}
catch(IOException ex) {
BEAN.log(ex);
}
}
public static class StatelessBean {
public void log(Exception exception) {
System.out.println(exception.getMessage() + ", " + exception.getClass().getSimpleName());
}
public void methodThrowExceptions() throws CharConversionException, FileSystemException, IOException {
int i = (int) (Math.random() * 3);
if (i == 0) {
throw new CharConversionException();
} else if (i == 1) {
throw new FileSystemException("");
} else if (i == 2) {
throw new IOException();
}
}
}
}
Andriy Pikus
18 уровень
Как пробросить в мейн ФілеСустемЕксцептіон?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Andriy Pikus
20 ноября 2019, 12:20
Так в методе handle и не визивается, а логируется и пробрасуется.я в лог засунул? Вроде да. throwделает проброс вьіше? Мейн вроде вьіше.
. Метод handleExceptions должен вызывать метод BEAN.methodThrowExceptions и обрабатывать исключения:
2.1. если возникло исключение FileSystemException, то логировать его (вызвать метод BEAN.log) и пробросить дальше
0
Denis Moiseychenkov
20 ноября 2019, 11:34
У тебя не указано, что в методе handleExceptions() вызывается исключение.
Ты его обрабатываешь, а потом пробрасываешь выше.
public static void handleExceptions() throws FileSystemException
+1