Я использую некоторые исключения, но даже если одно из них выброшено и перехвачено, оно продолжает выводить что после блока catch.
Я хочу, чтобы мое исключение, которое выбрасывалось, было перехвачено и распечатывало только то, что находится в теле улова, если только нет исключения, и переходите к последнему супу.
Почему-то, когдау меня есть исключение, мое тело улова напечатано, но также и суф после него, которое не должно быть напечатано.
Как мне организовать эти исключения?
------- aметод, который генерирует исключение
public double getHeight() throws ExceptionCheck {
//if end point is not set, return -1 (error)
if(points[1] == null){
throw new ExceptionCheck("The height cannot be calculated, the end point is missing!\n\n");
} else {
double height = points[1].getY() - points[0].getY();
return height;
}
}
------- метод, который обрабатывает бросок из getHeight
@Override
public double getArea() {
//if end point is not set, return -1 (error)
double area = 0;
try {
area = getHeight() * getWidth();
}
catch(ExceptionCheck e){
System.out.printf("The area cannot be calculated, the end point is missing!\n\n");
}
return area;
}
---------- здесьпоследний SOUF после улова не должен быть напечатан, но все равно печатается
private static void printArea(Shape shape) {
System.out.println("Printing area of a " + shape.getClass().getSimpleName());
double area = 0d;
// Get area of the shape and print it.
try {
area = shape.getArea();
}
catch(ExceptionCheck e){
System.out.printf(e.getMessage());
}
System.out.println("The area is: " + area);
}