Se você usar o novo diálogo de classe no Eclipse, poderá definir o campo Superclasse como java.lang.Exception
e marcar "Construtores da superclasse" e isso gerará o seguinte:
package com.example.exception;
public class MyException extends Exception {
public MyException() {
// TODO Auto-generated constructor stub
}
public MyException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public MyException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
public MyException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
}
Em resposta à pergunta abaixo sobre não chamar super()
o construtor defualt, a Oracle tem o seguinte a dizer :
Nota: Se um construtor não chamar explicitamente um construtor de superclasse, o compilador Java inserirá automaticamente uma chamada para o construtor sem argumento da superclasse.