Innholdsfortegnelse:
- Valgfri feilbehandling
- Håndtering mer spesifikk for mindre spesifikke feil
- Bruk av Valgfrie objekter for å unngå unntak
Video: Curso Java 14 - Leer y Escribir Ficheros @JoseCodFacilito 2025
Mange av Java-kodeeksemplene du finner for læringsformål, vil inneholde feiloppfanging i dem. Eksemplene vil ikke begrave deg ved feilfangst, men de vil gjøre gode feilfelt teknikker en del av programkoden når det er mulig (og feilfeltkoden ikke gjemmer gjerne formålet med eksemplet).
Med dette i tankene gir de følgende avsnittene en oversikt over teknikker som brukes til å ta feil. Du får se tre forskjellige nivåer av feiloppfanging som vanligvis brukes i Java-programmer.
Feilsøking er det å oppdage et unntak og fortelle JRE at du har tenkt å gjøre noe med det. JRE reagerer ved ikke å overføre feilen til den som ringer den gjeldende metoden, og i stedet avhenger av gjeldende metode for å fikse problemet.
Feilfangst er normalt knyttet til forsøksdelen av et forsøk … fangstoppgave, mens feilhåndtering normalt er knyttet til fangstdelen av en prøve … fangstoppgave.
Valgfri feilbehandling
Uttrykket "valgfri feilhåndtering" er litt misvisende. Det er bare valgfritt fordi Java ikke krever at du utfører det som en del av å bruke de forskjellige objektene i søknaden din. Hver applikasjon du bygger bør inneholde noe nivå av feilhåndtering, selv om Java ikke krever at du legger til det.
Faktisk vil legge til feilhåndtering til hver applikasjon du lager, selv enkle testapplikasjoner, hjelpe deg å bli dyktig i dette aspektet av Java-programmering og sette deg foran utviklere som ikke følger denne praksisen.
Feilhåndtering er en handling for å løse et unntak som søknaden har fanget. I noen tilfeller betyr håndtering av feilen å vise en melding til brukeren og ber om en korreksjon. Feilhåndtering kan imidlertid ta mange former, noen av dem er helt automatiserte og usynlige for brukeren. Denne handlingen er normalt knyttet til fangstdelen av et forsøk … fangstoppgave.
Håndtering mer spesifikk for mindre spesifikke feil
De fleste applikasjoner kan generere mer enn ett unntak. I tillegg kan det hende du ikke kan oppdage nøyaktig hvilke unntak et program vil generere. I dette tilfellet må du gi flere fangstklausuler for try … catch statement. Hver fangstklausul spesialiserer seg på en bestemt type feil.
I tillegg kan du bruke generiske unntakshandlere for de situasjonene når søknaden din møter feil som ikke er innenfor settet du opprinnelig forventet.
Bruk av Valgfrie objekter for å unngå unntak
Av alle unntakene du kanskje ser når du arbeider med Java, er NullPointerException (eller NPE) den mest utbredte og noen ganger den vanskeligste å diagnostisere. En NullPointerException skjer når du sender en nullverdi til en Java-funksjon som forventer en faktisk verdi. Problemet er at ikke alle situasjoner som skaper en NPE, er faktisk et problem.
Noen ganger forventer du at nullverdien oppstår, og du trenger noen metode for å håndtere den. For eksempel, vurder situasjonen der du vil finne en bestemt verdi i en liste over potensielle verdier. Det er helt mulig at du ikke finner verdien du vil ha, noe som resulterer i nullverdivurdering.
Hvis du prøver å behandle nullverdien, får du en NPE. Fordi du hadde forventet nullverdier å skje, kan det være veldig vanskelig å finne feilen.
Inntil nå var det vanskelig for menneskelige utviklere å forstå svart-hvitt tenkning på en datamaskin. Java 8 gir nå Valgfrie objekter for å håndtere situasjonen der en returverdi fra en funksjon er valgfri i stedet for nødvendig.
