Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование с++, Java, помогите пожалуйста

wwwwerfghij Ученик (159), закрыт 1 год назад
1. Реализуйте метод raiseException(ниже) который принимет число и выбрасывает исключения:
* если число 1 то выбросить SocketException
* если число 2 то выбросить ClassNotFoundException
* если число 3 то выбросить AccessDeniedException
* если число 4 то выбросить ExportException
*
* 2. Реализуйте метод catchException который вызывает raiseException затем ловит каждое
* исключение отдельным блоком catch и возвращяет его название:
* для SocketException вернуть строку "SocketException"
* для ClassNotFoundException вернуть строку "ClassNotFoundException"
* для AccessDeniedException вернуть строку "AccessDeniedException"
* для ExportException вернуть строку "ExportException"
Лучший ответ
Гуру Знаток (352) 1 год назад
Для решения данной задачи вам нужно использовать механизм исключений в Java.

Вот код для реализации метода raiseException, который выбрасывает исключения в зависимости от переданного числа:


 import java.net.SocketException;  

import java.io.IOException;

import java.nio.file.AccessDeniedException;

import javax.naming.directory.InvalidAttributesException;

import javax.management.loading.ExportException;



public static void raiseException(int num) throws IOException, ClassNotFoundException, AccessDeniedException, ExportException {

switch(num) {

case 1:

throw new SocketException("SocketException");

case 2:

throw new ClassNotFoundException("ClassNotFoundException");

case 3:

throw new AccessDeniedException("AccessDeniedException");

case 4:

throw new ExportException("ExportException");

default:

throw new InvalidAttributesException("Invalid number");

}

}

Здесь мы использовали оператор switch для выбора исключения в зависимости от переданного числа.

А вот код для реализации метода catchException, который вызывает raiseException, ловит каждое исключение отдельным блоком catch и возвращает его название:
 public static String catchException(int num) {  

try {

raiseException(num);

} catch (SocketException e) {

return "SocketException";

} catch (ClassNotFoundException e) {

return "ClassNotFoundException";

} catch (AccessDeniedException e) {

return "AccessDeniedException";

} catch (ExportException e) {

return "ExportException";

} catch (IOException | InvalidAttributesException e) {

return "Unknown Exception";

}

return "";

}


Здесь мы вызываем метод raiseException в блоке try, а затем ловим каждое исключение отдельным блоком catch. Если исключение не относится ни к одному из указанных типов, мы возвращаем строку "Unknown Exception".
Остальные ответы
ivan866_z Просветленный (20228) 1 год назад
это же детский сад
wwwwerfghijУченик (159) 1 год назад
если для вас это детский сад,то я бы была благодарна вашей помощью
ivan866_z Просветленный (20228) Виолетта Перевезенцева,
 import java.lang.ClassNotFoundException;
import java.net.SocketException;
import java.nio.file.AccessDeniedException;
import java.rmi.server.ExportException;
public class Main {
    public static void main(String[] args) throws Exception {
        Main m = new Main();
        String en = m.catchException();
        System.out.println(en);
    }
    private Exception raiseException(int i) throws Exception {
        switch (i) {
            case 1:
                throw new SocketException();
            case 2:
                throw new ClassNotFoundException();
            case 3:
                throw new AccessDeniedException("e03");
            case 4:
                throw new ExportException("e04");
        }
    } 
Похожие вопросы