Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertVibeke Møller Endret for 9 år siden
1
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse Transaksjonshåndtering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_LC191D.php Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, februar 2012
2
Å lage sikre klasser (kap. 6.5, side 196-198) Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting Argumenter bør kontrolleres Øving 3, klassen Rom public boolean leggInnNyReservasjon(Tidspunkt fraTid, Tidspunkt tilTid, String navn, String tlf, int antPers) { Kontroller argumentene, dog begrensede krav til testing i dette kurset Klienten kan, men behøver ikke, være et objekt av klassen konferansesenter Tilbakemelding om feil gis fortrinnsvis via returverdien: Forelesning 6, side 2
3
Å lage sikre klasser, forts. Når kan vi ikke bruke returverdien? Hva gjør vi da? Forelesning 6, side 3
4
Eksempel på håndtering av unntak Lag kode som leser inn heltall fra brukeren via showInputDialog() Gi tilbakemelding dersom ugyldig tall Forelesning 6, side 4 Vis klassen mittBibliotek.DataLeser, side 495-497
5
Unntaksklassene i Java-API-et Forelesning 6, side 5 figur side 498 Denne typen unntak skal sjelden håndteres.
6
RuntimeException, eksempler Mange av disse unntakene unngås med enkle if-tester ArrayIndexOutOfBoundsException if (indeks >= 0 && indeks < arraylist.size()) … if (indeks >= 0 && indeks < tabell.length) … NullPointerException if (referanse != null) …. ArithmeticException if (nevner != 0) …. Unntakshåndtering skal ikke brukes som alternativ til en if-setning Forelesning 6, side 6
7
Behov for unntakshåndtering i databasesammenheng? Forelesning 6, side 7
8
try-catch-finally-setningen, eksempel Syntaks try { setninger } catch (parameter) { // mer spesifikke unntak foran mer generelle setninger } catch (parameter) { setninger …. } finally { // utføres alltid, også ved return (kun et unntak: System.exit()) (kan sløyfes) setninger } Programmering av unntakshåndtering i databasesammenheng Skisser kode med fullstendig unntakshåndtering: DatabaseKontaktMedExc.java Vis tilsv. kode der unntakshåndteringen er flyttet ut i en klasse DatabaseKontaktMedExc2.java Opprydder.java, programliste 24.3, side 831-832 Forelesning 6, side 8
9
Trelagsarkitektur Forelesning 6, side 9 figur side 844
10
Egen klasse for databasehåndteringen Forelesning 6, side 10 figur side 825, kode side 827-831, fil Database.java
11
Transaksjonshåndtering Tabellen konto create table konto( kontonr varchar(15) not null, navn varchar(30) not null, saldo decimal not null, primary key (kontonr)); insert into konto values ('12345', 'Ole Pettersen', 5250); insert into konto values ('34567', 'Ole Pettersen', 3456); insert into konto values ('45632', 'Ingrid Bø', 1000); Vis kode, Transaksjonstest.java, side 850-851 Øving 6 Egen klasse for databaseoperasjoner mot databasen fra øving 5 Transaksjonshåndtering nødvendig i noen av metodene Forelesning 6, side 11
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.