Exercise index of this lecture   Alphabetic index   Course home   

Exercises
Undtagelseshåndtering


10.1   Undtagelser i tallæsningsprogrammet  

Én af de første øvelser vi lavede i kurset (lektion 2) gik ud på at indlæse et tal fra tastaturet ved at læse en række enkelte tegn. Genfind jeres løsning på denne opgave, eller tag min løsning , som også findes på filen talLaesning.java

  • Hvorfor erklærer readInt metoden at den kaster undtagelsen IOException?
  • Find tilbage det sted i Java API dokumentationen, der beskriver at der kan forekomme en exception i metoden readInt.
Vi går nu over til at foretage forskellige mindre ændringer i programmet fra lektion 2. Vi håndterer IOException og introducerer en anden mere specifik form for undtagelse:
  • Lav nu en variant af programmet fra lektion 2 som - på én eller anden måde - håndterer IOException. Vores beslutning kan f.eks. være at returnere 0 hvis der forekommer en IO undtagelse når vi læser fra standard input.
  • Der er naturligvis problemer hvis vi læser bogstaver eller specialtegn i metoden readInt. Definer nu selv en exception klasse NumberReadException; Vi ønsker at kaste en instans af denne undtagelse fra readInt hvis vi læser et bogstav eller et specialtegn.
 

Solution


10.2   Klassificering af undtagelser i CircularList  

I klassen CircularList , som vi første gang mødte i lektionen om arrays og lister, er der flere forhold som på en naturlig måde giver anledning til kastning af undtagelser

  • Kortlæg først problemet ved at liste de mulige undtagelser, som kan forekomme i klassen
  • Design om nødvendigt et lille hierarki af undtagelsesklasser, som klassificerer fejlene. Hierarkiets rod bør være CircularListException.
Resten af opgaven går ud på at modificere klassen CircularList således at de respektive metoder i klassen kaster relevante exceptions.

Tag evt. udgangspunkt i min løsning fra den tidligere lektion.

 

Solution


Generated: Monday March 31, 2008, 12:09:11
on the system cs-unix