Undantag är ett viktigt verktyg för att hjälpa Java-program hantera det oväntade . Som utvecklare kan du använda de vanliga undantagstyper tillhandahålls av språket i många fall , men för vissa tillämpningar , skapa din egen undantagsklasser är effektivare . För att skapa egna undantag i Java , måste du förlänga undantaget Supertype . Om du är ny på Java arv , kommer att skapa en anpassad undantag klass också visa de grundläggande begreppen inblandade . Dina egna undantagsklasser blir underklasser av en av Javas egna undantagsklasser . Instruktioner
1
Skapa din deklaration undantag klassen . Använda följande disposition för att skapa en ny klass i Java projekt :
klass MySpecialException utökar Exception {
//konstruktormetod
offentlig MySpecialException ( String meddelande ) katalog
{ super ( meddelande ) ;} " . förlänger undantaget "
}
Denna grundläggande klass definieras som en underklass av de viktigaste Java undantaget klass med syntaxen Inom konstruktören av ett ärva klass , är konstruktorn för superklassen kallas , som i det här exemplet . Just nu klassen inte göra något annat än det normala undantaget klassen , men specifikt beteende kan specificeras .
2
Placera undantag i din ansökan . I huvudklassen för ditt projekt , inkludera en ny metod för att testa din undantaget klass enligt följande :
public static int tryException ( int someNumber ) kastar MySpecialException {
om ( someNumber < 0 ) kastar nya MySpecialException ( " under noll " ) ,
annars returnera someNumber ,
}
När du inkluderar en metod som kan orsaka din undantag kastas , måste du inkludera den " kast " klausul som i exemplet . Den anpassade undantaget klassen instansieras som alla andra föremål , med hjälp av " nya " nyckelordet . I detta trivialt exempel programmet testar om någon passerade värdet är under noll , kasta ett undantag om det är .
3
Anropa metoden för att testa din undantag . I ditt projekt huvudsakliga metoden , tillsätt följande test kod :
int TestValue = -1 ;
try {
tryException ( TestValue ) ;
}
fångst ( MySpecialException MSE ) {
System.err.println ( mse.getMessage ( ) ) ;
TestValue = 0 ;
}
Denna kod skapar en situation där undantaget kommer att kastas , genom att tillföra ett värde under noll . När testet metoden kallas , kommer det att utföra testet , se att antalet är under noll och kasta undantaget . Eftersom metoden samtalet har inkluderats i en " prova " blocket kommer " catch " blocket bli nästa bit kod som skall exekveras , vilket gör att koden för att hantera felet och förändra problematiska värde . Kompilera och köra program , ändra sedan " TestValue " variabel till ett tal större än noll och köra den igen för att se skillnaden .
4
Lägg vidareförädling till din undantaget klassen . Syftet med att definiera egna undantag klasser är att tillåta dig att skräddarsy sitt beteende till behoven hos dina egna program . Du kan lägga till alla funktioner du behöver inom MySpecialException klassen enligt följande :
offentlig MySpecialException ( String meddelande ) {
super ( meddelande ) ;
System.err.printlin ( " MySpecialException har kastats ! " ) ;
}
}
Detta enkelt visar hur du lägger till undantaget klassen , men du bör lägga allt vad behandlingen passar dina egna behov .
5
Testa ditt program ordentligt . När du försöker att hantera oväntade händelser , en hög grad av testningen är viktig . Fördelen med att använda dina egna undantagsklasser är att de ger dig en högre nivå av kontroll över vad som händer när programmet körs . Men erkänner att ditt program kan ha oväntat beteende innebär att en effektiv strategi för testning är också nödvändigt .