Lo devi fare nel momento in cui dichiari come è fatto un metodo:
public double dividi(...) throws DivisionePerZeroException{
....
}
In questo modo dici che il tuo metodo può lanciare un'eccezione..ma questo non basta perché devi anche dire
quando sarà lanciata, nello specifico quando il denominatore sarà zero:
public double dividi(double numeratore, double denominatore) throws ... {
if (denominatore == 0) {
throw new DivisionePerZeroException();
}
...
}
Ricorda che dal momento in cui lanci un'eccezione allora immediatamente termina l'esecuzione "normale" e si salta direttamente al corpo del "catch".
Quindi ad esempio se hai:
public double dividi(double numeratore, double denominatore) throws ... {
if (denominatore == 0) {
throw new DivisionePerZeroException();
System.err.println("Errore, divisione per zero");
}
...
}
allora quella System.err.println non verrà mai eseguita! (immagino che te lo dica anche il compilatore comunque)