#280 Exception in a Separate Thread
Why does the catch block not execute?
public class Main {
public static class WrongValuePresentedException extends RuntimeException {};
public static final Integer wrongNumber = 25;
public static void check(Integer a) {
if (wrongNumber.equals(a)) {
throw new WrongValuePresentedException();
}
}
public static void main(String[] args) throws InterruptedException {
final var rndGeneratedValues = new ArrayList<Integer>();
var random = new Random();
random.ints(200, 0, 50).forEach(rndGeneratedValues::add);
try {
var checker = new Thread() {
public void run() {
rndGeneratedValues.forEach(ExerciseB2::check);
}
};
checker.start();
} catch (WrongValuePresentedException e) {
System.out.println(String.format("%s found", wrongNumber));
}
}
}
Question review
Sign in to start the dialogue
The mentor keeps the context of the current question and your previous messages.
Sign in
Available with Premium
This is just one of the solutions available with Premium. And more:
- 250+ advanced lectures
- 1300+ practice exercises
- 500+ solutions to problems from real interviews
- Personalized Java Hub certificates
- Expanded access to the AI mentor