Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Kapittel 10 Exceptions. 10.1 Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av.

Liknende presentasjoner


Presentasjon om: "Kapittel 10 Exceptions. 10.1 Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av."— Utskrift av presentasjonen:

1 Kapittel 10 Exceptions

2 10.1 Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av program eller runtime- miljøet, og kan bli fanga opp og behandla om vi ønskjer det Mange situasjonar kan føre til at exceptions blir kasta Forsøk på å dele på 0 Arrayindeks utanfor grensene Fil som ikkje finst Forsøk på bruk av nullreferanse etc

3 Handtering av exceptions Ein exception kan representere ein situasjon der programmet bør avslutte, eller der vi kan fortsette etter f eks å ha skrive ut ei melding Tre måtar å behandle exceptions på Ingen behandling Behandle der feilen oppstår Behandle ein annan stad i programmet

4 10.2 Ubehandla exceptions Om programmet ikkje fangar opp og behandlar feilen, vil det avslutte unormalt Vi vil få ut ei melding om Kva type feil oppsto, årsak Kvar oppsto feilen, call stack trace Metode, fil, linjenummer Metoder som blei kalt for å komme til der feilen oppsto Nyttig informasjon som vi ofte kan bruke til å finne feil i koden

5 10.3 try-catch Programsetning for å fange opp og behandle exceptions try – blokk for “kritsk” kode Ei catch – setning for kvar exception Eventuelt finally – setning til slutt Dersom exception blir kasta når try – blokka blir utført Kontroll blir flytta til catch – setninga for den aktuelle exception Koden der blir kjørt

6 try-catch Det som står i try – blokka etter at feilen oppsto blir ikkje utført Dersom rett type exception ikkje blir fanga opp i ei catch – setning, vil programmet terminere Dersom ingen exception blir kasta, blir ingen av catch – setningane utført Ei eventuell finally – setning blir alltid utført finally er forsåvidt overflødig, og kan like gjerne sløyfast. Blir brukt for kode som logisk sett høyrer saman med det som står i try - blokka

7 10.4 Forplanting av exceptions Viss ein exception ikkje blir fanga opp og behandla der han oppstår, vil programkontrollen bli overført til metoden som kalla metoden der feilen oppsto Om ikkje denne metoden heller fangar og behandlar exception ’en, blir kontroll overført vidare Til slutt er kontrollen i main() Programmet terminerer om ikkje main() fangar og behandlar exception Vi kallar dette forplanting eller propagering Vi bestemmer på kva nivå vi eventuelt vil fange og behandle exceptions Designspørsmål

8 10.5 Klassehierarki Throwable er superklasse for både Error og Exception Exception har mange subklasser som definerer ulike typer exceptions Vi kan skrive våre eigne klasser for spesielle exceptions ved å arve Exception eller subklasser av Exception throw Startar exception - propagering

9 Klassehierarki throws Lagt til i metode – header for å vise at metoden vil kaste eller propagere ein spesiell exception om denne oppstår Checked og unchecked exceptions Checked krev throws, unchecked gjer ikkje Alle exceptions i Java er checked, unntatt RunTimeException med subklasser, som ArithmeticException og NullPointerException

10 10.6 I/O Exceptions Input og output kan lett føre til uforutsette situasjoner der exceptions blir kasta Typisk situasjon: vi prøver å opne ei ikkje – eksisterande fil for innlesing Stream – omgrepet Informasjonsstraum (elv?) Kilde – sluk Standard I/O streams: System.in, System.out og System.err Dette er objektreferanser som er både public og static

11 I/O Exceptions java.io – pakken har klasser for å definere streams med ulike eigenskaper TestData – eksemplet Mykje av det I/O – klassene utfører kan føre til exceptions av klassen IOException eller subklasser av denne IOException er ein checked exception Alle metoder som utfører I/O må difor Ha throws IOException i headeren Eller Fange exceptions med try - catch

12 10.7 – 10.9 Grafikk Tool tips Kort tekst med info Kan leggast til alle Swing – komponentar Blir vist når musepeikaren stoppar over komponenten Mnemonics Tegn/bokstav som viser at det finst ein hurtigtast (ALT + bokstav) som kan brukast i staden for mus Kan brukast på knappar og menyvalg

13 Grafikk Komponentar kan “settast ut av drift” når vi vil unngå bruk Komponenten blir grå Blir brukt i situasjonar der brukaren ikkje skal kunne bruke komponenten Komboboksar Blir brukt for å tilby eit avgrensa utval Godt hjelpemiddel for å unngå feil Kan bruke editable dersom brukaren skal kunne skrive inn eigne valg Fyrer ein action event vi kan fange opp med ein listener når brukaren gjer eit valg

14 Grafikk Scroll panes Blir brukt til å vise bilder eller tekst som krev meir plass enn det er naturleg å ha i eit vindu Split panes Viser to komponentar som er skilt med ein strek, vertikalt eller horisontalt Kan nøstast for å dele opp i fleire felt


Laste ned ppt "Kapittel 10 Exceptions. 10.1 Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av."

Liknende presentasjoner


Annonser fra Google