Video: Hour of Code - Bill Gates explains If statements 2025
En forsøksoppgave brukes til å fange unntak som kan kastes mens programmet utføres. Du bør bruke en prøvemelding når du bruker en setning som kan kaste et unntak På den måten vil programmet ikke krasje hvis unntaket oppstår.
Prøveteksten har denne generelle formen:
prøv { setninger som kan kaste unntak } fangst ( unntakstypeidentifikator ) { setninger utført når unntak er kastet } til slutt { setninger som utføres om eller ikke unntak forekommer
Uttalelsene som kan kaste et unntak i en prøveblokk. Deretter tar du unntaket med en fangstblokk. Den endelige blokken brukes til å gi uttalelser som utføres uansett om noen unntak forekommer.
Her er et enkelt eksempel:
int a = 5; int b = 0; // du vet dette vil ikke fungere prøve {int c = a / b; // men du prøver det uansett} fange (ArithmeticException e) {System. ute. println ("Kan ikke gjøre det!");}
I det foregående eksemplet kastes et divid-to-zero unntak når programmet forsøker å dele en av b. Dette unntaket blir oppfanget av fangstblokken, som viser en feilmelding på konsollen.
Her er noen ting å merke seg om forsøk:
-
Du kan kode mer enn en fangstblokk. På den måten, hvis uttalelsene i prøveblokken kan kaste mer enn en type unntak, kan du fange hver type unntak i en separat fangstblokk.
I Java 7 kan du fange mer enn ett unntak i en enkelt fangstblokk. Unntakene er adskilt med vertikale stenger, slik:
prøv {// setninger som kan kaste // FileNotFoundException // eller IOException} fange (FileNotFoundException | IOException e) {System. ute. println (e. getMessage ());}
-
En prøveblokk er sin egen selvbetjente blokk, skilt fra fangstblokken. Som et resultat er eventuelle variabler du erklærer i forsøksblokken, ikke synlige for fangstblokken. Hvis du vil at de skal være, må du deklarere dem umiddelbart før forsøkserklæringen.
-
De ulike unntakstyper defineres som klasser i ulike pakker av Java API. Hvis du bruker en unntaksklasse som ikke er definert i standard java. lang pakke som alltid er tilgjengelig, må du angi en importerklæring for pakken som definerer unntaksklassen. For eksempel:
importer java. io. *;
-
Hvis du vil ignorere unntaket, kan du fange unntaket i fangstblokken som ikke inneholder setninger, slik:
prøv {// setninger som kan kaste // FileNotFoundException} fange (FileNotFoundException e) {}
Denne teknikken kalles "svelging unntaket", og regnes som en farlig programmeringspraksis fordi programfeil kan gå uoppdaget.
