Suoni come se doveste leggere su Java. Controlla The Java Tutorials, in particolare questo su Exceptions.
Per dirla semplicemente, eccezioni sono un particolare tipo di oggetto che rappresenta un evento al di fuori del normale funzionamento del codice, causando control flow per essere sovvertita. Ad esempio, un ArrayIndexOutOfBoundsException
indica che il codice ha tentato di indicizzare una posizione in un array che non esisteva, ad esempio -1.
A causa della loro associazione con gli insetti, le eccezioni hanno spesso una connotazione negativa per i programmatori più recenti. Ma poiché Java è Object Oriented, è possibile estendere lo RuntimeException
per creare i propri tipi di eccezioni personalizzati, che sono molto utili per il debug e la chiarezza del codice. Per generare un'eccezione personalizzata mentre il codice è in esecuzione, dovrai (1) definire l'eccezione personalizzata, (2) rilevare la condizione eccezionale e (3) throw
l'eccezione.
Il modo più semplice per definire la vostra abitudine RuntimeException
è quello di definire una classe come:
public EmptyStackException extends RuntimeException {
// customize error messages if necessay
}
allora si sarebbe rilevare e gettare la Exception
come:
if (/** stack is empty */) {
throw new EmptyStackException();
}
Queste sono solo le basi. È inoltre possibile definire eccezioni personalizzate on the fly. Spero che questo ti aiuti!
Chiamando super(), chiama il costruttore di RuntimeException, che genera un'eccezione di run time! – Mjall2
Chiamare super() dovrebbe * costruire * una RuntimeException, non * genera * un'eccezione. – Jim
ma quando vogliamo lanciarne uno, lanciare una nuova EmptyStackException(); Questo getterà un runtimeexception credo? – Mjall2