Første |
|
|
Hændelser og Events serie, Planche nr. 12 |
 |
Udskrift af : Hændelser og Events
|
Planche 1 : Hændelser og Events
Java-objekter kommunikerer på 3 måder:
- Beskeder (alm. metoder)
- Hændelser ("events")
- Undtagelser ("Exceptions")
Planche 2 : Hændelser ("Events")
Hændelser er metoder, der udføres som en del af den forventede afvikling
af programmer, på tidspunkter der ikke kan fastsættes.
Eksempel:
- Museklik,
- Tastaturtryk,
- Kompenentaktivering
Planche 3 : Undtagelser ("Exception")
Undtagelser er hændelser, der indtræffer på grund af uventede / uønskede begivenheder.
Planche 4 : Fejlhåndtering
int status = metodeDerNæstenVirker();
if (status == SÆR_RETUR_KODE) {
// gør noget ved det
switch(Fejlindikator) {
// håndter mere specifik kode
}
} else {
// alt i orden - fortsæt normalt
..
}
try {
metodenDerNæstenVirker();
} catch {
// metoden fejlede - gør noget!
}
// fortsæt normal kode...
Planche 5 : Javaundtagelser (klasser)
Undtagelsesklasser stammer alle fra
Og de fleste findes i java.lang.*
Men man kan oprette sine egne...
Planche 6 : Kastes?
- Undtagelser skabes ("are thrown")
Planche 7 : Manglende Undtagelser
Hvis man mangler at implementer en krævet undtagelse, vil compileren gøre opmærksom på det og nægte at danne kode!
Ikke alle undtagelser er krævet
- java.lang.NullPointerException f.eks.
Planche 8 : Implementer undtagelser
Håndter undtagelser ved
- 1. beskyt kode med en
try
blok
- 2. Håndter undtagelsen med en
catch
blok
- Flere catch-blokke efter hinanden
- Flere undtagelser i samme catch
Ryd evt. op med
(Finally udføres altid - både efter undtagelser og normal proces)
Planche 9 : Syntaks
try {
// sætninger, der skal beskyttes
}
catch ( Liste af undtagelsesvariable ) {
// sætninger, der redder fejl
}
// alm. sætninger, udføres hvis det gik godt.
Der kan være flere catch-blokket efter hinanden på den samme try
Eksempel på undtagelsesvariabelerklæring: Exception e
Planche 10 : Send videre
Undtagelser kan skabes fra kode
throw new
Undtagelsesklasse
(Det er oprettelse af et nyt objekt)
Planche 11 : Klasse signatur
- Klasser erklæres som
throws
Undtagelsesklasse
- Metoder erklæres som
throws
Undtagelsesklasse
- Kan "erstatte" krævede
try/catch
blokke
Planche 12 : Og hvad så?
IO...
© 2000 BLA*net - Leif E. Andersen,
leander@blanet.dk
Første |
|
|
Hændelser og Events serie, Planche nr. 12 |