Перепробовал больше десятка вариантов. С отловом конкретного исключения NumberFormatException, обработкой исключения для каждой вводимой переменной отдельно (хотя это не имеет смысла)...
В IDEA все варианты работают корректно.
Впечатление такое, что сложность задачи определяется конкретной заковыкой валидатора и угадиванием имеенно "правильного" варианта.
package com.javarush.task.task14.task1420;
/*
НОД
*/
import java.lang.Exception;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
if (a <= 0 || b <= 0) throw new Exception();
System.out.println(nod(a,b));
} catch ( Exception e) {
System.out.println(e);
}
}
public static int nod(int a, int b) {
int c;
if (a < b){
c = a;
a = b;
b = c;
}
while (b != 0){
c = a % b;
a = b;
b = c;
}
return a;
}
}