Kode 2 Informasjonsteknologi 2 (LK20) utdrag

Page 41

Gjenbruk og testing

I de siste linjene i script-blokken kaller vi på funksjonen. Vi har lagt dette funksjonskallet inni en try-catch-blokk. En try-catch-blokk prøver å gjøre det som står mellom krøllparentesene etter try. Hvis det oppstår en feil som ville fått programmet til å krasje, angrer datamaskinen på alt den har gjort hittil, og gjør i stedet det som står mellom krøllparentesene etter catch. Du får se nytten av dette ganske snart. I HTML-delen av filen viser vi informasjon om hvordan testen gikk. Aller først viser vi en emoji som varierer etter om testen passerte, feilet eller krasjet. Etter emojien viser vi forventede inndata og utdata. Hvis funksjonen krasjet eller testen feilet, viser vi hva som var galt som et kulepunkt under testen.

Try-catch-blokker En try-catch-blokk ser slik ut: 1 try { 2 /* 3

* Datamaskinen prøver å gjøre det * som står mellom krøllparentesene, 5 * men hvis en feil som ville fått 6 * programmet til å krasje oppstår … 7 */ 8 } catch (error) { 9 /* 10 * … angrer datamaskinen på alt den gjorde i try 11 * og gjør det som står mellom 12 * krøllparentesene etter catch. 13 * Feilen som oppsto, er lagret i parameteren error. 14 */ 15 } 4

Du kan tenke på en try-catch-blokk som en variant av en if-else-setning: if (alt kjører uten å krasje) { /* gjør det vanlige */ } else { /* gjør noe annet */ }. Forskjellen på en try-catch-blokk og en if-else-setning er at datamaskinen ikke vet hvilken vei den skal velge, før den starter, og derfor må prøve seg frem.

UNNGÅ Å BRUKE TRY-CATCH MED MINDRE DU ABSOLUTT MÅ Try-catch-blokker er en nødløsning. Vi tyr til dem når det viser seg å være umulig å skrive en if-else-setning som forhindrer feilen. I ErLikTest.svelte tar vi inn en hvilken som helst funksjon. Siden det finnes uendelig mange måter en ukjent funksjon kan krasje på, kan vi umulig skrive en if-else-setning som beskytter oss mot alle disse krasjene. Derfor tillater vi oss å bruke try-catch i ErLikTest.svelte.

41


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.