Lecture overview -- Keyboard shortcut: 'u'  Previous page: Klassificering af undtagelser i Java -- Keyboard shortcut: 'p'  Next page: Beskrivelse af exception klasser i Java (2) -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 13 : 26
Forelæsningsnoter i Objekt-orienteret Programmering
Undtagelseshåndtering
Beskrivelse af exception klasser i Java (1)

Vi vil her karakterisere de generelle exception klasser i Java, som vi introducerede på forrige side

  • Throwable:

    • Superklasse for alle exceptions

    • Indeholder metoder til håndtering af 'stack tracing'

  • Error:

    • Afspejler alvorlige problemer (interne fejl i Java systemet) som normalt ikke forekommer i et kørende Java system

    • Håndteres ikke under normale omstændigheder

    • Er ikke underlagt 'catch or specify' princippet

    • Kastes kun sjældent af vore egne programmer

    • Eksempler: For dyb rekursion, ikke mere arbejdslager, manglende metode eller felt, instantering af abstrakt klasse

At Error exceptions ikke er underlagt catch or specify princippet betyder at disse exceptions ikke skal specificeres i metoders throws clauses

De sidstnævnte to eksempler på Errors forekommer ikke i 'normale' java programmer, idet de fanges under oversættelsen. Hvis man imidlertid tilgår objekter, som er lagret persistent på disken, eller hvis man via et klassenavn tilgår selv klassen med henblik på instantiering, kan disse fejl opstå