package com.javarush.task.task09.task0915;
import java.io.CharConversionException;
import java.io.IOException;
import java.nio.file.FileSystemException;
/*
Перехват выборочных исключений
*/
public class Solution {
public static StatelessBean BEAN = new StatelessBean();
public static void main(String[] args) {
try {
handleExceptions();
} catch (FileSystemException e) {
BEAN.log(e);
}
}
public static void handleExceptions() {
try{
BEAN.methodThrowExceptions();
}catch(FileSystemException e){
BEAN.log(e);
throw e;
}
catch(CharConversionException e) {
BEAN.log(e);
}
catch(IOException e){
BEAN.log(e);
}
}
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();
}
}
}
}
У меня пишет неизвестную ошибку и я збился с толку! Помагите!Даня
20 уровень
Что я делаю не так?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
30 мая 2020, 11:00
Тут ты ловишь исключение, которое метод handleExceptions не кидает:
А тут
как раз кидаешь исключение, которое нигде не обрабатывается и в сигнатуре метода не значится.
0
Даня
2 июня 2020, 07:09
Ну а как же тогда. Где нужно ловить FileSystemException?
0
Ksenia VolkovaJava Developer в DXCMaster
2 июня 2020, 08:13решение
Читай внимательно условия:
3. Добавь в объявление метода handleExceptions класс исключения, которое ты пробрасываешь в п.2.1.
+2
Даня
2 июня 2020, 08:44
Спасибо Ксения, что тыкнули меня в нужное место))))
0