12. Foutafhandeling Flashcards

1
Q

Wat is een ‘exception’?

A

Een object dat informatie geeft over een programmafout.

Een exception wordt opgegooid om aan te geven dat er een fout is ontstaan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is een ‘ongecontroleerde exception’?

A

Exceptions waarvoor geen controles van de compiler nodig zijn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is een ‘gecontroleerde exception’?

A

Exceptions waarvoor wel controles van de compiler nodig zijn.
Bij gecontroleerde exceptions eist Java het gebruik van throws-clausules en try-blokken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat is een ‘exception-handler’?

A

Programmacode die statements bewaakt waarin een exception kan worden opgegooid.
Deze bevat code voor het melden en/of verhelpen van een exception, als die ontstaat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat is een ‘assertion’?

A

Een bewering die bij normale uitvoering van een programma waar moet zijn.
Door gebruik te maken van assertions kunnen we aannames expliciet maken en gemakkelijker programmeerfouten opsporen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat is ‘serialisatie’?

A

Process waarbij complete objecten en objecthiërarchieën in één enkele bewerking gelezen of weggeschreven worden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat is ‘defensief programmeren’?

A

De techniek waarbij je probeert te voorspellen wat er allemaal kan fout gaan en voorzieningen treft om hiermee om te gaan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is een ‘throw-statement’?

A

Een statement waarin een exception wordt opgegooid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat is ‘afvangen van een exception’?

A

Het schrijven van code om te voorkomen dat een exception een programma laat stoppen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wat is een ‘throws-clausule’?

A

Een deel van de header van een methode waarin gedeclareerd wordt dat die methode een bepaalde exception kan opgooien.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is een ‘bewaakt statement’?

A

Een statement in een try-blok.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat is een ‘catch-blok’?

A

Een reeks van statements die uitgevoerd worden als de corresponderende exception wordt afgevangen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat is ‘multi-catch’?

A

Een taalfunctie in Java die toelaat om meerdere exceptions tegelijkertijd af te handelen met dezelfde reeks statements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat is een ‘finally-clausule’?

A

Een reeks van statements die altijd uitgevoerd moeten worden na een bewaakt statement, ongeacht of er een exception ontstaat of niet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wat is een ‘IOException’?

A

Klasse voor exceptions die opgegooid worden bij fouten tijdens invoer/uitvoerbewerkingen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat is ‘java.io’?

A

De packaged dat de meeste klassen met betrekking tot invoer en uitvoer verzamelt.

17
Q

Wat is ‘File’?

A

Een klasse uit java.io die een extern bestand voorstelt.

18
Q

Wat is ‘Path’?

A

Een interface uit java.nio.file die sinds Java 7 een soortgelijke rol als de klasse File vervult.

19
Q

Wat is ‘Paths’?

A

Een klasse met statische methodes om instanties die de interface Path implementeren te verkrijgen.

20
Q

Wat is ‘Files’?

A

Een klasse met statische methodes om attributen op te vragen van een Path-object.

21
Q

Wat is ‘try-met-bronnen’?

A

= automatic resource management
Constructie in Java waarbij objecten die de interface AutoClosable implementeren kunnen gesloten worden na een reeks statements zonder dat dit door de programmeur moet gebeuren.

22
Q

Wat is ‘FileReader’?

A

Klasse waarmee invoer uit een bestand teken per teken kan ingelezen worden.

23
Q

Wat is ‘BufferedReader’?

A

Klasse die bij constructie een andere reader als argument kan nemen en de mogelijkheid biedt om invoer regel per regel in te lezen.

24
Q

Wat is ‘parsen’?

A

Het vaststellen van de onderliggende structuur in een gestructureerd bestand (zoals een CSV-bestand).

25
Q

Wat is ‘scannen’?

A

Het samenstellen van afzonderlijke tekens tot gescheiden datawaarden.

26
Q

Wat is ‘Scanner’?

A

Klasse die in staat is om bij het inlezen van gegevens, samengestelde tekenreeksen naar getypperde waarde (gehele getallen, drijven kommagetallen,…) om te zetten.

27
Q

Wat is ‘Serializable’?

A

De interface die een klasse moet implementeren om aan te geven dat dit object aan serialisatie kan doen.

28
Q

Wat is ‘crashen’?

A

De toepassing eindigt op een ongecontroleerde manier.

29
Q

Wanneer is een serverobject het gevoeligst voor fouten?

A

Wanneer zijn constructor en methodes externe waarden binnenkrijgen via hun parameters. Daarom is parametercontrole van essentieel belang.

30
Q

Wat zijn de twee grootste problemen bij foutmeldingen voor de gebruiker?

A
  • Ze veronderstellen dat de toepassing gebruikt wordt door een menselijke gebruiker die de foutmelding zal lezen.
  • Zelfs wanneer er een menselijke gebruiker is die de foutmelding ziet, zal deze meestal geen mogelijkheden hebben om het probleem op te lossen.
31
Q

Som de manieren op om een clientobject in te lichten van een foutmelding.

A
  • Een server kan een niet-void-retourtype van een methode gebruiken om een waarde te retourneren die aangeeft of de methodeaanroep gelukt is of niet.
  • Een server kan een exception opgooien als er een fout is ontstaan.
32
Q

Wat is het grote voordeel van het opgooien van een exception bij een fout?

A

Een client kan een opgegooide exception niet negeren. Als de client de exception niet afhandelt, zal de toepassing onmiddelijk beëindigd worden.

33
Q

Wanneer moet men gecontroleerde of ongecontroleerde exceptions gebruiken?

A

Ongecontroleerde exceptions worden gebruikt voor situaties die redelijkerwijs voorkomen kunnen worden, zoals het aanroepen van een methode op een variabele die null bevat.
Gecontroleerde exceptions worden gebruikt voor foutsituaties waarover de programmeur geen mach heeft, zoals een schijf die vol raakt bij een poging om naar een bestand te schrijven.

34
Q

Wat is een ‘logische fout’?

A

A logic error (or logical error) is a mistake in a program’s source code that results in incorrect or unexpected behavior. It is a type of runtime error that may simply produce the wrong output or may cause a program to crash while running.