In the custom exception class we call constructor of super class(Exception class).Why don't we call directly Exception class constructor instead of custom class constructor ? Please find the example below
class InvalidAgeException extends Exception {
    InvalidAgeException(String s) {
        super(s);
    }
}
class TestCustomException1 {
    static void validate(int age) throws InvalidAgeException {
        if (age < 18) {
            throw new InvalidAgeException("not valid");
        }
        else {
            System.out.println("welcome to vote");
        }
    }
    public static void main(String args[]){  
        try {  
            validate(13);  
        }
        catch (Exception m) {
            System.out.println("Exception occured: " + m);
        }
        System.out.println("rest of the code...");
    }
}
In the above example we can use throw new Exception("not valid"); Then what is the use of custom exception class here ?