Come creare un eccezione personalizzata in Java

November 16

Come creare un eccezione personalizzata in Java


Le eccezioni sono uno strumento chiave per aiutare i programmi Java far fronte agli imprevisti. Come sviluppatore, è possibile utilizzare i tipi di eccezione standard forniti dal linguaggio, in molti casi, ma per alcune applicazioni, creazione di classi eccezione è più efficace. Per creare le proprie eccezioni personalizzate in Java, è necessario estendere il supertipo eccezione. Se sei un nuovo eredità Java, la creazione di una classe di eccezione personalizzata anche dimostrare i concetti di base coinvolti. Le proprie classi di eccezioni personalizzate saranno sottoclassi di una delle proprie classi di eccezioni di Java.

istruzione

1 Crea il tuo dichiarazione di classe eccezione. Utilizzando il seguente schema per creare una nuova classe nel progetto Java:

Classe MySpecialException estende Exception {

// Metodo costruttore

MySpecialException pubblico (String message)

{Super (messaggio); }

}

Questa classe di base è definita come una sottoclasse della classe principale eccezione Java utilizzando la sintassi "estende eccezione". Entro il costruttore di una classe che eredita, il costruttore per la superclasse è chiamato, come in questo esempio. Al momento la classe non fa altro che il normale classe di eccezione, ma il comportamento specifico può essere specificato.

2 Posizionare il eccezione all'interno dell'applicazione. Nella classe principale per il progetto, includere un nuovo metodo per testare la classe di eccezione come segue:

public static int tryException (int someNumber) getta MySpecialException {

if (someNumber <0) throw new MySpecialException ( "sotto zero");

ritorno someNumber altro;

}

Ogni volta che si definisce un metodo che può causare la vostra generazione di un'eccezione, è necessario includere il "getta" clausola come nell'esempio. La classe di eccezione personalizzata viene istanziato come qualsiasi altro oggetto, utilizzando la "nuova" parola chiave. In questo esempio banale, i test del programma se un certo valore passato è sotto lo zero, un'eccezione se lo è.

3 Chiamare il metodo per testare la vostra eccezione. Nel metodo principale del progetto, aggiungere il seguente codice di prova:

int testvalue = -1;

provare {

tryException (testvalue);

}

catch (MSE MySpecialException) {

System.err.println (mse.getMessage ());

testvalue = 0;

}

Questo codice crea una situazione in cui viene generata l'eccezione, fornendo un valore inferiore a zero. Quando il metodo di prova viene chiamato, eseguirà il test, vedere che il numero è inferiore a zero e generare l'eccezione. Dal momento che la chiamata al metodo è stato incluso in un blocco di "provare", il blocco di "catturare" sarà il prossimo pezzo di codice da eseguire, consentendo il codice per far fronte con l'errore e altera il valore problematico. Compilare ed eseguire il programma, quindi modificare la variabile "testvalue" ad un numero maggiore di zero ed eseguirlo di nuovo per vedere la differenza.

4 Aggiungere ulteriore elaborazione alla classe eccezione. Lo scopo nel definire le proprie classi di eccezione è quello di permettere di adattare il loro comportamento alle esigenze dei propri programmi. È possibile aggiungere qualsiasi funzionalità necessarie all'interno della classe MySpecialException come segue:

MySpecialException pubblico (String message) {

super (messaggio);

System.err.printlin ( "MySpecialException è stato gettato!");

}

}

Questo dimostra semplicemente come aggiungere alla classe di eccezione, ma si dovrebbe aggiungere qualsiasi trattamento si adatta alle proprie esigenze.

5 Prova a fondo il vostro programma. Ogni volta che si sta cercando di far fronte ad eventi imprevisti, un buon grado di test è essenziale. Il vantaggio di utilizzare le proprie classi di eccezione è che ti danno un maggiore livello di controllo su ciò che accade quando il programma viene eseguito. Tuttavia, riconoscendo che il programma potrebbe avere un comportamento imprevisto significa che un approccio efficace per il test è anche necessario.

Consigli e avvertenze

  • È possibile estendere altre classi di eccezione, non solo la principale eccezione superclasse. È inoltre possibile estendere le proprie classi di eccezione.
  • E 'necessario creare le proprie classi di eccezione a meno che non hai bisogno di particolari lavorazioni che le classi standard non forniscono.