Java använder ett undantag -baserat system för att hantera fel och andra oförutsedda händelser i ett program . Detta gör felkontroll renare i källkoden och ger andra delar av programmet att inspektera fel att besluta hur man ska hantera dem . Denna funktion bygger till stor del kring " Exception " klass som kommer med Java standarden biblioteket . Använda " utöka " kommandot , kan programmerare skapa sina egna undantag , även de som tillåter en annan del av programmet för att inspektera en felaktig objekt direkt .
Du behöver :
Java
1
skapa en klass som utökar klassen bas undantag. . I det här exemplet kommer din undantag tillåta fångst klassen att få en fil som har orsakat ett undantag någon annanstans i programmet . Namn denna klass " FileException . " Senare kan du använda samma grundläggande struktur för att producera ett undantag som returnerar ett objekt som du behöver .
Klistra in följande kod för att skapa ett skelett för din klass . Som handledningen går , kommer du lägga metoder och medlemmar från denna grundläggande struktur:
import java . io. File ;
/**
* Detta undantag gör det möjligt att fånga klassen att få ett File-objekt
* @ author Kevin Walker
. * /
public class FileException utökar Exception {
}
2 .
Skapa ett File-objekt att FileException kommer att hålla och markera det privata genom att lägga nästa kodrad
privat filen F.
3
Skapa en konstruktor som accepterar ett File -objekt och lagrar den för hämtning senare .
/**
* Skapa ett undantag.
* @ param f filen som orsakade undantag
* /
offentliga FileException ( File f ) {
this. f=f .
. }
4
Skapa en getFile metod så att klassen får undantag kan titta på filen och bestämma vad man ska göra åt problemet :
/* *
* Hämta filen som gavs när undantaget kastades .
* @ return ett File -objekt som orsakade ett fel *
/
offentliga File getFile () {
återvända f ;
}
5 .
Skapa ett testprogram . Som det ser ut , är FileException klass klar, men det är alltid en bra idé att bygga en snabb test program för att allt fungerar som förväntat . I detta fall bygga en test är enkelt : du ska bara skapa en huvudsaklig metod och få den kasta och fånga , en FileException fel .
Klistra in följande . Det blir användarens hemkatalog och sedan använder den för att generera en imaginär fel .
/**
* Ett test ansökan om undantag klassen .
* @ param args Denna ansökan tar inga argument från kommandoraden .
* /
public static void main ( String [ ] args ) {
try {
Arkiv errorFile=System. getProperty ( " user. dir "));
kasta nytt FileException ( errorFile ) ,
} catch ( FileException e) {
System. out. println (" Detta undantag orsakas av : " + e. getFile ( ) getAbsolutePath ());
}
}
.