Page 22 : 26
Forelæsningsnoter i Objekt-orienteret Programmering
Undtagelseshåndtering
* Motivation og problemstillinger
Normal- og fejltilfælde behandles under ét
Fejl søges håndteret tæt på det sted hvor fejlene opstår
Unuanceret viden om fejlens natur
Hvilken slags fejlhåndtering?
* Terminologi og begreber
Mange forskellige ord
Grundliggende begreber
* Undtagelseshåndtering i Java
Oversigt over undtagelseshåndtering i Java
Catch or specify princippet i Java
Klassificering af undtagelser i Java
Beskrivelse af exception klasser i Java (1)
Beskrivelse af exception klasser i Java (2)
Instantiering og 'kastning' af exceptions
Håndtering af exceptions i en metode
Propagering af exceptions (1)
Propagering af exceptions (2)
Finally i Java's try blok (1)
Finally i forhold til return, break og continue
Erklæring af exceptions i metoder
Exceptions: Fristelser og byrder
* Undtagelseshåndtering i forlængelse af kontraktbegrebet
Kontrakter og undtagelser
En operation kan lykkes eller fejle
Exceptionhandling i en Eiffel routine
Exceptions: Fristelser og byrder
Exceptions er ikke altid en velsignelse for de programmører, som skal anvender klasser hvori metoderne kaster exceptions. Her ser vi på problemet
Håndter undtagelsen tæt på fejlkilden for at undgå at skulle skrive mange metoder med erklærede undtagelseskast
'Dyk en exception' ved en pseudo-håndtering for at blive fri for at erklære den i direkte og indirekte klienter
Benyttelse af unchecked RuntimeExceptions i stedet for checked exceptions
Benyttelse af (unchecked) exceptions til at flytte kontrollen (hoppe) langs den dynamiske kæde af metodekald.
For god ordens skyld skal det bemærkes, at ovenstående fristelser bør modstås i de Java programmer, vi skriver
En programmør kan være fristet til at arbejde med unchecked exceptions for at blive fri for at erklærede exceptions i metode signaturer