Vertrek van het project 4_Vervoer dat je bij de oplossingen op Minerva vindt.
  1. Verwijder in het hoofdprogramma throws FileNotFoundException en voeg er een try-catch aan toe. Zorg dat er een duidelijke boodschap getoond wordt indien een bestand niet gevonden wordt (er moet niets anders gebeuren).
  2. In de klasse MaxGewichtTruck is er een methode die nagaat of de bestaande truck overladen is. We willen nu echter vermijden dat een overladen truck wordt aangemaakt. Dus ga je in de constructor van de klasse MaxGewichtTruck een test toevoegen. Indien hij blijkt overladen te zijn, gooi je een exceptie op van het (nieuwe) type OverloadException.
  3. Nu ga je naar de klasse Voertuigen. Daar werden Treinen, Trucks en MaxGewichtTrucks ingelezen. Vang bij het inlezen van een overladen MaxGewichtTruck de exceptie op, maar gooi ze door nadat je er het regelnummer aangeplakt hebt waarop deze foute informatie stond. (Daarvoor moet je allicht regels gaan tellen.) Zorg er ook voor dat deze truck niet bewaard wordt.
  4. Test deze aanpassingen al uit. Je zal zien dat de eerste overladen truck ervoor zorgt dat de rest niet meer wordt ingelezen. Dat passen we nu aan. De redenering die we in code willen gieten:
    • ELKE REGEL uit het bestand PROBEREN we in te lezen.
    • Indien dat niet gelukt is, VANGEN WE DAT OP door de foutboodschap (die er tussendoor gegenereerd werd) vast te plakken aan een algemene foutboodschap (die voor de start van het inlezen werd klaargezet).
    • Als het bestand helemaal ingelezen werd, gooien we onze verzamelde foutmeldingen door (die staan nu allemaal samen in de foutboodschap).
    Test uit. In het hoofdprogramma willen we deze foutboodschap natuurlijk uitschrijven: vang de OverloadException op.
Opmerking bij het opnieuw opgooien van de overloadexception
Als je de exceptie op het einde van de constructor van de klasse Voertuigen opnieuw opgooit (nu met aangepaste boodschap), en het bestand bevat overladen trucks, dan zal de rest van het hoofdprogramma niet uitgevoerd worden. Wil je toch verderwerken met de voertuigen die wel correct werden ingelezen, dan zal je op het einde van de constructor geen fout mogen opgooien, maar enkel de verzamelde boodschap over de overladen trucks moeten uitschrijven.