Användardefinierade undantagen tillåter programmeraren att hantera fel i ansökan med kundanpassade lösningar . Skapa dessa funktioner gör en ansökan mer lättbegriplig och användarvänlig . Felhantering är en del av programmering som normalt är glömt , men det ger användarna en bättre förståelse för vad som är fel med ansökan och eliminerar en hel del frustration från fattiga felreaktioner . Instruktioner
1
Skapa funktionens skalet . En användardefinierad undantag är en förlängning av det interna undantaget klassen . I detta exempel är det undantag som upp för att testa en dålig antal i ansökan. Följande kod ställer upp class.public klassen BadNumber utökar Exception { }
2
Konfigurera konstruktören . Konstruktorn tar en variabel som används för att tala om för användaren att numret är felaktigt. Detta kan vara vilken variabel i din ansökan som orsakar exception.private int myNumber , offentlig BadNumber ( int myNumber ) { this.myNumber = myNumber ; } Addera 3
Skapa funktion som returnerar fel till användaren . Användbarhet i ansökningarna innehåller tydliga svar när det finns ett fel . Den här koden ställer upp svaret till användaren för att låta honom veta det angivna numret är felaktigt . Detta läggs till undantaget klassen i steg 1 och 2.public String toString ( ) {return " Number kan inte vara negativt " + " " + myNumber ; }
4
Test undantaget klassen . När det finns ett fel , måste den viktigaste koden för att kasta ett undantag . I det här exemplet , om användaren lägger in ett negativt tal , är den " BadNumber " undantag funktionen heter . Den här koden ställer upp testet class.public klassen TestException { }
5
skapa koden för att kasta ett undantag . Detta exempel anropar en funktion som returnerar ett negativt tal som senare kallar " BadNumber " exception.public void main ( String [] args ) kastar Undantag { int myNumber = getNumber ( ) , om ( myNumber < 0 ) { kasta nytt NegativeAgeException ( myNumber ) ;} else { System.out.println ( " Number är " + myNumber ) ; } } static int getNumber ( ) {return -9 ;} Addera