Lecture overview -- Keyboard shortcut: 'u'  Previous page: Finally i forhold til return, break og continue -- Keyboard shortcut: 'p'  Next page: Exceptions: Fristelser og byrder -- 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 21 : 26
Forelæsningsnoter i Objekt-orienteret Programmering
Undtagelseshåndtering
Erklæring af exceptions i metoder

Som et centralt element diskuterer vi her en udvidelse af den måde vi erklærer metoder, der videregiver ikke håndterede execeptions

Metoder som returnerer uden at håndtere checked exceptions skal annoncere dette i forbindelse med metodens definition

Java compileren checker om en metode 'efterlader' checked exceptions uhåndterede


egenskabsListe returType metodeNavn (parametre) 
         throws exceptionType-1, exceptionType-2 ... {   
  metodeKrop
}

Syntaks for en metode definition med throw erklæringer. Det nye element, i forhold til hvad vi tidligere har set, er den anden linie som erklærer at metoden kan kaste bestemte typer af exceptions

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/ExceptionDemo.javaEt Java program med fokus på erklærede exceptions i metoder.

Et Java program med fokus på erklærede exceptions i metoder. Vi har tidligere i lektionen set på det samme program, nemlig i forbindelse med propagering af exceptions. Hvorfor skal main erklære, at der kastes en exception? Fordi p tilsyneladende kan give anledning til en exception. Men hvorfor specificerer p at der kan forekomme en exception - p håndterer jo netop en undtagelse i en try! Det er fordi at q(false) kaldet i catch delen kan afstedkomme en exception.