@Soolberns

Почему не работает исключение JAVA?

Перешагивает CATCH и не выводит содержимое: System.out.println("A меньше 0");

public class Main {

    public static void main(String[] args)  {

        Scanner In = new Scanner(System.in);
        System.out.print("Введите a: ");
        int A = In.nextInt();
        System.out.print("Введите b: ");
        int B = In.nextInt();

        try {
           sum(A, B);
        }catch(IndexOutOfBoundsException  e) {
           if (A<0) {
                System.out.println("A меньше 0");
            } else if (B<0) {
                System.out.println("B меньше 0");
            }
        }
    }
    static int sum(int a,int b){
        System.out.println("a+b = " + (a+b));
        return a+b;
    }

6380641654e17965865972.png
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 2
xez
@xez Куратор тега Java
Senior Junior Roo
Чтобы появился шанс что-то поймать, нужно это что-то сначала бросить.
С уважением, ваш Кэп
Ответ написан
Комментировать
leahch
@leahch
Я мастер на все руки, я козлик Элек Мэк :-)
Уговорили (но в следующий раз не нужно 10 вопросов на один код)
public class Main {

    public static void main(String[] args)  {

        Scanner In = new Scanner(System.in);
        System.out.print("Введите a: ");
        int A = In.nextInt();
        System.out.print("Введите b: ");
        int B = In.nextInt();

        try {
           sum(A, B);
        }catch(ArithmeticException  e) {
               System.out.println(e.getMessage());
        }
    }
    static int sum(int a,int b) /* не уверен, что нужно */ throws ArithmeticException {
             if (a<0) {
               throw new ArithmeticException("a меньше 0");
            } else if (b<0) { //  моя очепятка детектед.... чеккед и корректед
                throw new ArithmeticException("b меньше 0");
            }

        return a+b;
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы