davidebarbieri93 ha scritto:
Da quello che ho capito , questo tipo di eccezione è checked essendo un inserimento errato dell'input, quindi estenderà Exceptions
"nì" (sì e no). La differenza tra eccezioni "checked" e "unchecked" è fine e innanzitutto concettuale.
Le eccezioni checked si definiscono e usano quando un problema/errore può davvero accadere, senza che questo denoti un "baco" del codice. IOException e derivati è checked, perché i problemi di I/O (che vanno da un file non trovato ad errori più gravi) è qualcosa che può realmente accadere e per cause esterne al programma.
NullPointerException è unchecked perché innanzitutto può scatenarsi per qualunque accesso su un reference e poi comunque è una cosa che "non dovrebbe" accadere mai. Se accade allora generalmente è il sintomo di un baco/mancanza nel codice.
Nel tuo caso, ovvero la discrepanza tra le matrici, la eccezione custom potrebbe essere tanto checked che unchecked. Se la fai checked, alla fin fine c'è un solo un "contratto" in più per il chiamante che dovrà per forza di cose considerarla.
davidebarbieri93 ha scritto:
public class NonCompatibleMatrices extends Exceptions{
...codice che mi manca...}
Le eccezioni generalmente (salvo casi particolari) non hanno logica e neanche variabili di istanza.
Basta scegliere quali costruttori replicare di quelli della superclasse e fare le invocazioni con super al supercostruttore.
Guarda i sorgenti di IllegalArgumentException e IOException (dal OpenJDK):
http://grepcode.com/file_/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/IllegalArgumentException.java/?v=source
http://grepcode.com/file_/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/io/IOException.java/?v=source
a parte commenti e il serialVersionUID è tutto lì .... una manciata di costruttori.