Unntak er et viktig verktøy i å hjelpe Java-programmer takle det uventede. Som en utvikler, kan du bruke standard unntak typer 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 supertype . Hvis du er ny på Java arv , vil lage en egendefinert unntak klassen også demonstrere grunnleggende konseptene involvert. Dine egne unntak klasser vil være subklasser av en av Java egne unntak klasser . Instruksjoner
en
Lag din unntak klasse erklæring . Ved hjelp av følgende disposisjon for å skape en ny klasse i Java- prosjekt : en
klasse MySpecialException strekker Exception {
//konstruktør-metoden
offentlig MySpecialException ( String melding)
{ super ( melding) ; } " . strekker exception"
}
grunnleggende klasse er definert som en underklasse av de viktigste Java unntak klassen med syntaks I konstruktøren av en arve klasse , er konstruktøren for superklassen kalles, som i dette eksempelet . I øyeblikket klassen ikke gjøre noe annet enn det normale unntaket klassen , men bestemt atferd kan spesifiseres .
2
Plasser unntak i programmet. I den viktigste klassen for prosjektet, inkluderer en ny metode for å teste unntak klassen som følger : en
public static int tryException ( int someNumber ) kaster MySpecialException {
if ( someNumber < 0 ) kaste ny MySpecialException ( " under null ");
annet tilbake someNumber ;
}
Når du inkluderer en metode som kan føre til at unntak skal kastes , må du ta med den " kast "-klausulen som i eksempelet . Skikken unntak klassen instansiert som alle andre objekt , ved hjelp av den "nye " søkeord . I dette trivielt eksempel , programmet tester om noen passert verdien er under null , kaster et unntak hvis det er.
3
Ring metode for å teste unntak. I prosjektet viktigste metoden , legger du 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 der unntaket vil bli kastet , ved å levere en verdi under null. Når testen metoden 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 større enn null og kjøre den på nytt for å se forskjellen .
4
Legg videreforedling til din unntak klassen . Hensikten med å definere dine egne unntak klasser er å tillate deg å skreddersy sin atferd til behovene til dine egne programmer . Du kan legge til funksjonalitet du trenger innenfor MySpecialException klassen som følger : en
offentlig MySpecialException ( String melding) {
super ( melding) ;
System.err.printlin ( " MySpecialException har blitt kastet ! ");
}
}
p Dette bare viser hvordan du legger til unntaket klassen , men du bør legge til uansett behandling tilpasset dine behov .
5
Test programmet grundig. Når du prøver å takle uforutsette hendelser, en god grad av testing er viktig. 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 kjører . Men erkjennelsen av at programmet kan ha uventet oppførsel betyr at en effektiv tilnærming til testing er også nødvendig .