Hvordan lage en tilpasset Unntak i Java

Hvordan lage en tilpasset Unntak i Java


Unntak er et viktig verktøy i å hjelpe Java-programmer takle det uventede. Som utvikler, kan du bruke standard unntakstyper som tilbys av språket i mange tilfeller, men for enkelte programmer, lage dine egne unntak klasser er mer effektive. Å lage dine egne unntak i Java, må du forlenge unntaket super. Hvis du er ny på Java arv, skaper en egendefinert unntak klasse vil også demonstrere grunnleggende konseptene involvert. Dine egne unntak klasser vil være subklasser av en av Java egne unntak klasser.

Bruksanvisning

1 Lag din unntak klassen erklæring. Ved hjelp av følgende disposisjon for å opprette en ny klasse i Java prosjektet:

klasse MySpecialException strekker Exception {

// Konstruktør metode

offentlig MySpecialException (String melding)

{Super (melding); }

}

Denne grunnleggende klassen er definert som en underklasse av de viktigste Java unntak klasse med syntaksen "strekker unntak." I konstruktøren av en arve klasse, er konstruktøren for super heter, som i dette eksempelet. I øyeblikket klassen ikke gjøre noe annet enn den vanlige unntaket klassen, men bestemt atferd kan spesifiseres.

2 Plasser unntak i programmet. I hovedklassen for prosjektet, inkluderer en ny metode for å teste unntak klassen som følger:

public static int tryException (int someNumber) kaster MySpecialException {

if (someNumber <0) kaste nytt MySpecialException ( "under null");

ellers retur someNumber;

}

Når du inkluderer en metode som kan føre til at unntak skal kastes, må du inkludere "kaster" klausul som i eksempelet. Skikken Unntaket klassen er instansiert som alle andre objekt, ved hjelp av den "nye" søkeord. I dette trivielt eksempel programmet tester om noen passerte verdien er under null, kaster et unntak hvis det er.

3 Ring metode for å teste unntak. I prosjektet viktigste metoden, legge til følgende test kode:

int Testvalue = 1;

try {

tryException (Testvalue);

}

fangst (MySpecialException MSE) {

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

Testvalue = 0;

}

Denne koden skaper en situasjon hvor det unntaket vil bli kastet, ved å tilføre en verdi under null. Når testmetoden kalles, vil den utføre testen, se at antallet er under null, og kaste unntaket. Siden metoden samtalen har vært inkludert i en "prøve" blokk, vil "fange" block bli den neste stykke kode som skal utføres, slik at koden for å takle feil og endre problematisk verdi. Kompilere og kjøre programmet, og deretter endre "Testvalue" variable til et tall som er større enn null og kjøre den på nytt for å se forskjellen.

4 Legg videre bearbeiding til unntak klassen. Hensikten med å definere dine egne unntak klasser er å tillate deg å skreddersy sin atferd til behovene dine egne programmer. Du kan legge til funksjonaliteten du trenger i MySpecialException klassen som følger:

offentlig MySpecialException (String melding) {

super (melding);

System.err.printlin ( "MySpecialException har blitt kastet!");

}

}

Dette viser bare hvordan du legger til unntaket klassen, men du bør legge til hva behandlingen passer dine egne behov.

5 Test programmet grundig. Når du prøver å takle uforutsette hendelser, er en god grad av testing avgjørende. Fordelen med å bruke dine egne unntak klasser er at de gir deg en større grad av kontroll over hva som skjer når programmet utfører. Men erkjennelsen av at programmet kan ha uventet atferd betyr at en effektiv tilnærming til testing er også nødvendig.

Hint

  • Du kan utvide andre unntak klasser, ikke bare den viktigste unntaket super. Du kan også utvide dine egne unntak klasser.
  • Det er unødvendig å lage dine egne unntak klasser med mindre du trenger spesiell behandling som standard klasser ikke gir.