Lançamento de exceções

Olá, boa tarde!
Estou iniciando na programação Java, e estou tentando resolver um exercício. Mas não estou sabendo como iniciar o código. Li a respeito mas não consegui fixar bem. Alguém pode me ajudar?
O exercício é o seguinte:

Utilize herança para criar uma superclasse de exceção (chamada
ExceptionA) e subclasses de exceção ExceptionB e ExceptionC, em que ExceptionB herda de ExceptionA e ExceptionC herda de ExceptionB. Escreva um programa para demonstrar que o bloco catch para tipo ExceptionA captura exceções de tipos ExceptionB e ExceptionC.

public class Teste {
    private static class ExceptionA extends Exception {
        private ExceptionA(String message) {
            super(message);
        }
    }

    private static class ExceptionB extends ExceptionA {
        private ExceptionB(String message) {
            super(message);
        }
    }

    private static class ExceptionC extends ExceptionB {
        private ExceptionC(String message) {
            super(message);
        }
    }

    public static void main(String[] args) {
        try {
            throw new ExceptionC("Exception C");
        } catch (ExceptionA ex) {
            System.out.println("C herda de B que herda de A, logo, este cacth consegue capturar A, B e C");
        }
    }
}

Olá Jonathan!

Boa tarde!
Muito obrigado pela a ajuda!!!
Vou estudar o código…