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

Slides:



Advertisements
Liknende presentasjoner
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Advertisements

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Lage e-post med bilde som vedlegg
Kontrollstrukturer (Kapittel 3)
Objektorientert programmering i PHP del 2
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
IS-102 Klassedefinisjoner
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
Oppgave gjennomgang Kap. 3 og 4.
Gruppe 9 Design evaluering og validering.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk.
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
Kapittel 11 Rekursjon Å tenke rekursivt Rekursjon er ein programmeringsteknikk der ein metode kallar seg sjølv for å fullføre ei oppgåve For å kunne.
EQS prosessteikning Rettleiing for deg som skal bruke prosesskart-editor i EQS.
Teknikker for å bedre design- prosessen -Design by contract -Prototyping design -Fault-tree analyses.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Mandag 8. November Powerpoint..
INF 295 Algoritmer og datastrukturer Forelesning 2 - kapittel 1 Hans F. Nordhaug (Ola Bø)
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
VOD. VOD- Vegobjektdialog Åpne eksisterende vegobjekt Nytt vegobjekt.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Java 5 Litt mer om løkker Arrayer Metoder Ole Christian Lingjærde
Hovedprosjekt 10 E Språktreningsprogram i Java utført av Ingrid Bork.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Dagens tema: roller og tilganger i ePhorte
Smart Podium – din digitale tavle i klasserommet Terje Mølster Lynkursdag
Objektorientert utforming In 140 Sommerville kap. 12.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
An approach to multimodal and ergonomic nomadic services Marco Riva og Massimo Legnani.
Kapittel 6 Objektorientert design. 6.1 Programvareutvikling Skriving av kode ein liten del av arbeidet med å lage programvare Fire hovudaktivitetar Kravspesifikasjon.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Introduksjon I tillegg til autentisering, bør/skal også ein sikker kanal tilby garanti for meldings- integritet og konfidensialitet.
10 tips for (betre) bruk av Fronter Terje Mølster Lynkursdag
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF160 Videregående Programmering Hausten Om kurset Lærebok: Lewis & Loftus: Java software solutions, 4.utgåve utgåve inneheld nye, viktige.
Gen og arv.
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Vanlege nynorskfeil.
VELKOMMEN TIL LONE SKULE. SKULESTART INFORMASJON OM SKULEN GODE RÅD TIL FORELDRE FØR SKULESTART.
Kapittel 2 Data og uttrykk. 2.1 Strengar Ein tekststreng er eit objekt i Java, definert av String klassen Meir om denne klassen i kapittel 3 Vi bruker.
Kapittel 4 Skriving av klasser. 4.1 Anatomien til ein klasse Så langt har vi brukt ferdige klasser frå klassebiblioteket i Java Vi lagar objekt og brukar.
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 3 Bruk av klasser og objekt. 3.1 Å lage objekt Eit variabelnamn i Java representerer Ein primitiv verdi (f eks boolean, int ) Eit objekt (f eks.
Kapittel 23 (Big Java 2.utg) Tråder. Kjøring av tråder Ein tråd er ein del av eit program som blir eksekvert uavhengig av andre deler av programmet Vi.
1 Kunnskapsløftet og utfordringar for lærarutdanninga Peder Haug Høgskulen i Volda.
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Kapittel 25 (Big Java 1.utg) Java Server Pages og Servlets.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 14.9 Ulike måter for å lese inn og skrive ut data. Kap. 3.5 mer om if – setninger Ferdige.
Kap 4 og 5 i Eva Maagerø: Språket som mening
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Kurs for valfunksjonærar Kyrkjevalet Innhald Velkomen til kurs! Nytt ved kyrkjevalet i 2015 Kursmateriell: Valhandbok Røysting på valtinget  Utstyr.
Vi flaskar til! -med brøk  Rik oppgåve!. MÅL Rekne med brøk, utføre divisjon av brøkar og forenkle brøkuttrykk. (Repetisjon/ aktivere forkunnskapar)
Å skrive meininga si Fempunktsmetoden. Skriv fem setningar: Fortel kva emne du vil skrive om. Skriv tre setningar om dette emnet. Skriv ei setning som.
| Å argumentere å skrive argumenterande tekst. Å komme i gang Bestem tema Finn informasjon om saka. Sjå ein film, leit på Internett, les i aviser, fagbøker.
Datakortet – Modul 3 Word 2003, Kap Modul 3.
Meiningsfull læring skjer gjennom:
| Å argumentere Å skrive argumenterande tekst.
Tittel Bakgrunn Målet med postern Bruk bilete Budskap i feit skrift
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Kapittel 10 Exceptions

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

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

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

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

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

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

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

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.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

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

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

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

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