为什么这段Java代码捕捉不到自定义的一个异常?

Java:为什么捕捉不到自定义异常?

-__

//TriangleException.java
import java.util.Scanner;

class Triangle{
    int x,y,z;
    public Triangle(int x,int y,int z){
        this.x = x;
        this.y = y;
        this.z = z;
    }
    public double getArea(){   //求三角形面积
        double area = 0;
        double p = (x+y+z)/2.0;
        area = Math.sqrt(p*(p-x)*(p-y)*(p-z));
        return area;
    }
    public void showInfo(){ // 显示三角形边长
        System.out.println("边长分别为:"+x+","+y+","+z);
    }
}

class NoTriangleException extends Exception{
    NoTriangleException(){};
    NoTriangleException(String s){
        super(s);
    }
}

public class TriangleException{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入三边长:");
        try{
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            int z = scanner.nextInt();
            if(x+y<=z||x+z<=y||y+z<=x){
                throw new NoTriangleException("不能构成三角形!");
            }
            else{
                Triangle triangle = new Triangle(x,y,z);
                double area = triangle.getArea();
                System.out.println("三角形面积是"+area);
                triangle.showInfo();
            }
        }
        catch(NoTriangleException e){
                System.out.println(e.getMessage());
        }
    }
}

当输入符合三角形边长,可以正常运行;但是不符合的时候没有捕获输出“不能构成三角形!”。

初学异常处理,没发现问题在哪,求问大神/

https://blog.csdn.net/qq_18505715/article/details/73196421