GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 11 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.

Slides:



Advertisements
Lignende præsentationer
Illustration fra Bogen om kræft figur 4.1.
Advertisements

©Jenny Bohr – Til underviserne Her er valgt at vise filmen ”et liv i kaos”. Hvis kursisterne er unge, kan man vælge en anden film eks. ”det.
Mr. Raggys prøveeksamen Gennemgang af svarene.
Uddannelsessystemet Paradokser og muligheder
1 • Best practice for exception handling • Exception klasser • Division med nul uden exception handling • Division med nul med exception handling •. NET.
dProg2: Kursusafslutning
Instruktion i Animation Shop
DProg2 E Programmering 2 dProg2 E2010
Anvendt Statistik Lektion 4
Illustration fra Kort om kræft figur 4.1.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
Dansk Landbrugsrådgivning Landscentret | Økonomi og Jura Velkommen til Ø90 kursus.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
NetBeans Installation og brug.
GP 4, 19/ Grundlæggende programmering Efterår 2001 Forelæsning 4 onsdag 19/ kl. 9:15 – 12:00.
GP10, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 10 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi.
GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 9 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
Session 16: Hvad forstår vi ved sundhed Psykoedukation til patienter med bipolar affektiv sindslidelse.
Exceptions. 2 Nordjyllands Erhvervakademi – 2009 Objectives “Unfortunately, errors are a part of life. Some are detected by the compiler, some are detected.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
Distribuerte Objekter Våren 2013 Professor II Eric Jul.
Oprettelse af tabeller (Access, del 2)
Indledende Programmering Uge 5 - Efterår 2006 Om at udvikle korrekte og pålidelige programmer Susanne Lindros.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
GP12, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 12 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 7. april 2003.
1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun.
I det følgende er der 20 spørgsmål, hvor du skal afgøre hvilken af 3 konturer der spilles: op, ned og ligeud. Alle spørgsmålene har stor afstand. Melodisk.
I det følgende er der 20 spørgsmål, hvor du skal afgøre hvilken af 2 konturer der spilles: op-ned, ned-op og ligeud. Alle spørgsmålene har stor afstand.
I det følgende er der 20 spørgsmål, hvor du skal afgøre hvilken af 2 konturer der spilles: op-ned, ned-op og ligeud. Alle spørgsmålene har stor afstand.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 af 14 Overordnet Generelt rigtigt fine opgaver –Mange fyldt med gode overvejelser.
Videregående pc-vejledning 60+Bornholm Velkommen til.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
1 Dagens gang Sidste uges opgaver OA+D: Adfærd Nye opgaver.
Items 4, 14, 24, 34, 44, 54 Orange gruppe Liv, Jonas, Thorkil, Søren S og Martin D.
GP6, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 6 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Claus Brabrand, ITU, Denmark Mar 17, 2009Projekt: “Visualisering” Claus Brabrand [ ] ( “FÅP”: First-year Project Course, ITU, Denmark )
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
GP7, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 7 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 9. november 2004.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
11 - Exceptions. 2 NOEA2009Java-kursus – Exceptions Hvad er en exception? En undtagelse. Typisk en fejl der opstår runtime Afbryder det normale programflow.
Oprettelse af tabeller (Access, del 2)
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Usability ITU, forår 2008 Usability ITU Forår 2008 ’Teori 2’ 3. kursusgang, 14. februar 2008.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
GP 4, 27/ Grundlæggende programmering Forår 2002 Forelæsning 4 onsdag 27/ kl. 9:15 – 12:00.
Midtvejsevaluering. Ingeniørhøjskolen i Århus Slide 2 af 4 Ting vi vil diskutere Alternativt pensum: –Hvilke bøger har I valgt og kan I følge med I forhold.
GP3, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 3 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Tekst filer Tekstfiler opbygges normalt af linier, hvor disse ikke behøver at være samme længde. Når man skal arbejde med tekstfiler, ønsker man metoder.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 Jens Bennedsen, 2003Introducerende objektorienteret programmering Exceptions.
Indledende Programmering Uge 6 - Efterår 2006
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Forelæsning Uge 14 – Torsdag
Quiz Uge 2 – mandag.
Dokumentation.
Quiz Uge 2 – mandag.
Quiz Uge 2 – mandag.
Forelæsning Uge 14 – Mandag
Forelæsning Uge 14 Defensiv programmering Exceptions Assertions
Præsentationens transcript:

GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 11 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder Martin Lillholm

GP9, Martin Lillholm 2 Sidste gang Rekursion Hvordan gik opgaven ?

GP9, Martin Lillholm 3 Denne gang Undtagelser (exceptions) Vi springer afprøvning over Rekursion – eventuelle spørgsmål og udvalgte emner

GP9, Martin Lillholm 4 Næste gang Sidste kapitel i bogen Opfølgning på prøveeksamen Opfølgning på evaluering Spørgetime – hvornår?

GP9, Martin Lillholm 5 Undtagelser (exceptions) – motivation Mulighed for at håndtere ”usædvanlige” omstændigheder – udtagelser Division med nul Tabelindeks uden for 0..n-1 ”Forkert” input ved brug af eksempelvis Scanner klassen En fil findes ikke (I/O) null referencer... Systemundtagelser Programmørdefinerede undtagelser Bør bruges med omtanke!

GP9, Martin Lillholm 6 Håndtering af undtagelser Undtagelser kan håndteres –For at undgå at eksempelvis en fejl medfører at programmet går ned Undtagelser kan (i princippet) ignoreres Undtagelser kan håndteres, hvor de opstår Undtagelser kan håndteres andre steder i programmer

GP9, Martin Lillholm 7 Undtagelser (uden håndtering) – eksempel Exception in thread "main" java.lang.ArithmeticException: / by zero at Zero.main(Zero.java:17)

GP9, Martin Lillholm 8 Undtagelser – hvad sker der ? Når en undtagelse kastes af ”systemet” eller manuelt ophører normal programafvikling –throw expression; (Enten eksplicit eller implicit) Hvor typen af expression er en subtype af Throwable og giver altså et undtagelses objekt v V kan håndteres op igennem kaldhierakiet; i første omgang umiddelbart hvor den kastes; derefter propageres v op igennem kaldhierakiet Eventuelt helt op til ”system”-niveau ( Zero.java ) Metoderne getMessage() og printStackTrace()

GP9, Martin Lillholm 9 Undtagelser (med håndtering) – eksempel

GP9, Martin Lillholm 10 Undtagelser med håndtering try og catch try {... // code that may throw an exception } catch (ExceptionType excp) {.. // code that handles the exception } catch fanger undtagelser af samme type samt alle subtyper Kommentarer til eksemplet –InputMismatchException vs. Exception –Hvorfor scanIn.nextLine() i catch konstruktionen ? Der kan være mere end en catch -blok – skal dog altid have forskellige typer ( ProductCodes.java side 536 i L&L)

GP9, Martin Lillholm 11 try – catch - finally try {... // code that may throw an exception } catch (ExceptionType excp) {.. // code that handles the exception } finally {... // code that’s always executed } catch er en exception handler Hvorfor finally ? Kode der skal udføres unanset om der opstår en undtagelse i try -blokken eller ej. I/O og andre ressourceafhængige opgaver

GP9, Martin Lillholm 12 try – catch – finally - opsamling Hvornår bruges try ? Hvornår bruges catch ? Hvornår bruges finally ? Til en try -blok skal der altid være mindt en catch eller en finally – eventuelt begge dele Hvornår bruges throws ?

GP9, Martin Lillholm 13 Mere om Undtagelser Checked og unchecked undtagelser –Checked skal håndteres alternativt skal den udløsende metode/konstruktør haves en throws exceptiontype –Kun RunTimeException og heraf afledte undtagelser er unchecked Exception klassehierakiet L&L side 542 Egne undtagelser CreatingExceptions.java L&L side 543 i BlueJ throw Brug kun undtagelser når rent er tale om usædvanlige omstændigheder!

GP9, Martin Lillholm 14 Undtagelsespropagering – kaldhieraki Kaldhieraki og propagering (tavlegennemgang) Undtagelser bør altid håndteres på det ”rigtige” niveau eventuelt slet ikke (altså af systemet) Hvorfor ? –Fejlbehandling udvalgte steder –Fejlbehandling hvor den nødvendige information er til stede Propagation.java L&L side 539 i BlueJ

GP9, Martin Lillholm 15 Undtagelser og opgaver Ingen obligatorisk opgave i undtagelser Prøveeksamen I stedet Undtagelser er pensum – lav selv opgaver!

GP9, Martin Lillholm 16 I/O Exceptions igen … TestData.java side 547 I BlueJ Der findes mange andre I/O exceptions –FileNotFoundException –EOFException –…

GP9, Martin Lillholm 17