Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.

Liknende presentasjoner


Presentasjon om: "Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse."— Utskrift av presentasjonen:

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


Laste ned ppt "Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse."

Liknende presentasjoner


Annonser fra Google