Nwlapcug.com


Come creare un'eccezione personalizzata in Java

Come creare un'eccezione personalizzata in Java


Le eccezioni sono uno strumento chiave nell'aiutare Java programmi affrontare l'imprevisto. Come sviluppatore, è possibile utilizzare i tipi di eccezioni standard forniti dal linguaggio in molti casi, ma per alcune applicazioni, creare le classi di eccezione è più efficace. Per creare proprie eccezioni personalizzate in Java, è necessario estendere il supertipo di eccezione. Se siete nuovi a ereditarietà Java, creazione di una classe di eccezione personalizzata dimostrerà anche i concetti di base coinvolti. Le classi di eccezione personalizzata sarà sottoclassi di una delle classi di eccezioni di Java.

Istruzioni

1

Creare la dichiarazione di classe di eccezione. Utilizzando il seguente schema per creare una nuova classe nel progetto Java:

Classe MySpecialException extends Exception {

Metodo del costruttore

public MySpecialException (String message)

{super(message)};

}

Questa classe base è definita come una sottoclasse della classe principale di eccezione Java utilizzando la sintassi "extends exception." All'interno del costruttore di una classe che eredita, viene chiamato il costruttore della superclasse, come in questo esempio. Al momento la classe non fa nulla tranne la classe di eccezione normale, ma può essere specificato un comportamento specifico.

2

Posto tuo eccezione all'interno dell'applicazione. Nella classe principale per il vostro progetto, includono un nuovo metodo per testare la classe di eccezione come segue:

publicstaticint tryException(int someNumber) genera MySpecialException {

if(SomeNumber<0) gettare nuova MySpecialException ("sotto zero");

altro ritorno someNumber;

}

Ogni volta che si include un metodo che può causare l'eccezione viene generata, è necessario includere la clausola di "tiri" come nell'esempio. La classe di eccezione personalizzata viene creata un'istanza come qualsiasi altro oggetto, utilizzando la parola chiave "new". In questo esempio banale, il programma verifica se qualche valore passato è sotto lo zero, generare un'eccezione se è.

3

Chiamare il metodo per testare la tua eccezione. Nel metodo principale di progetto, aggiungere il seguente codice di test:

testValue int = -1;

try {

tryException(testValue);

}

catch (MySpecialException mse) {

System.Err.println(MSE.GetMessage());

testValue = 0;

}

Questo codice crea una situazione in cui verrà generata l'eccezione, fornendo un valore inferiore a zero. Quando viene chiamato il metodo di test, eseguirà il test, vedere che il numero è inferiore a zero e generare l'eccezione. Poiché la chiamata al metodo è stato incluso in un blocco "try", il blocco "catch" sarà il prossimo pezzo di codice da eseguire, consentendo il codice per far fronte con l'errore e modificare il valore problematico. Compilare ed eseguire il programma, poi modificare la variabile "testValue" a un numero maggiore di zero ed eseguire nuovamente per vedere la differenza.

4

Aggiungere un'ulteriore elaborazione per la classe di eccezione. Nel definire le proprie classi di eccezione intende consentono di adattare il loro comportamento alle esigenze dei propri programmi. È possibile aggiungere qualsiasi funzionalità che necessarie all'interno della classe MySpecialException come segue:

public MySpecialException (String message) {

Super(Message);

System.Err.printlin ("MySpecialException è stata generata!");

}

}

Questo vantaggio viene illustrato come aggiungere alla classe di eccezione, ma si dovrebbe aggiungere qualsiasi elaborazione si adatta alle proprie esigenze.

5

Verificare accuratamente il vostro programma. Ogni volta che si sta tentando di affrontare 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 l'esecuzione del programma. Tuttavia, riconoscendo che il programma può avere un comportamento imprevisto significa che è necessario anche un efficace approccio al test.

Consigli & Avvertenze

  • È possibile estendere altre classi di eccezione, non solo la superclasse principale eccezione. È anche possibile estendere le classi di eccezione.
  • Non è necessario creare le proprie classi di eccezione, a meno che non hai bisogno di particolari trattamenti che non forniscono le classi standard.