Excepties.
Gegeven is het onderstaande UML-klassendiagram voor een aantal klassen die kunnen
worden gebruikt voor het lezen en schrijven van getallen in een tekstfile.
De klasse FileReader heeft het ifstream attribuut inFile
en een get() methode om een int uit een file te lezen. Een FileReader-object wordt gemaakt m.b.v. de naam van een
file. Zowel de constructor als de get()
methode werpen een file_error-exceptie
als er iets mis gaat met het openen of het lezen van het file. De destructor van de FileReader klasse dient de geopende ifstream te sluiten. Als er uit een file wordt
het lezen als het einde van het file is bereikt, wordt een eof_error-exceptie
geworpen.
De klasse FileWriter heeft vergelijkbare
functionaliteit en kan worden gebruikt om een int
waarde in een file te schrijven. Als het file niet kan worden geopend, of er iets mis gaat
met het schrijven, wordt een file_error-exceptie
geworpen.
Om te testen of het openen van een file lukt en of het lezen of schrijven van een file
slaagt, kun je gebruik maken van de methode fail().
Deze levert true op als er iets mis gaat.
Als de methode eof() van de klasse ifstream na het lezen van een getal true oplevert, is het lezen mislukt.
Het volgende moet worden gedaan: