II.4.4 Exceptions - 1 -

Größe: px
Ab Seite anzeigen:

Download "II.4.4 Exceptions - 1 -"

Transkript

1 n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 -

2 Ausnahmen (Exceptions) Treten auf, wenn zur Laufzeit semantische Restriktionen nicht erfüllt werden, z.b. n Arithmetische Ausnahmen: z.b. Division durch 0, Wurzel aus negativer Zahl, Overflow n Unzulässiger Zugriff auf Datenstrukturen: z.b. Zugriff auf Array-Element mit negativem Index oder Index größer als length()-1. z.b. Zugriff auf Eigenschaften eines Objekts über einen Verweis, der null ist n Infrastrukturelle Ausnahmen: z.b. Lesen aus einer Datei, die nicht existiert z.b. Fehlschlag bei expliziter Datentypkonvertierung von Ober- zu Unterklasse II.4.4 Exceptions - 2 -

3 Exception Handling n Wenn in einem Programmblock Ausnahmen auftreten, wird ein Exception Handler aufgerufen try {... Normalblock... catch (AusnahmeArt1 Parameter1) {.. Exception Handler1.. catch (AusnahmeArt2 Parameter2) {.. Exception Handler finally {.. Abschließende Anweisungen.. n Bei Auftreten einer Ausnahme im Normalblock wird zu dem entsprechenden Exception Handler gesprungen. n Der finally Block ist optional und wird auf jeden Fall am Ende ausgeführt. II.4.4 Exceptions - 3 -

4 Exception Objekte Eine Ausnahme ist ein Objekt der Klasse Throwable: Throwable Error Exception... RuntimeException n Ausnahmeobjekte werden implizit erzeugt, wenn eine Ausnahme auftritt. n Throwable hat den Konstruktor Throwable(String m) und die Methoden getmessage(), printstacktrace(), tostring(), etc. n Error und RuntimeException: unchecked exceptions, müssen nicht gefangen werden II.4.4 Exceptions - 4 -

5 Beispiele von Exception Klassen n IOException und IOError Fehler in Ein- oder Ausgabe n ArithmeticException z.b. x/0 für int x n ArrayIndexOutOfBoundsException Überschreiten des Indexbereichs eines Arrays n ClassCastException Fehlschlag bei expliziter Konversion von Ober- zu Unterklasse n NumberFormatException Versuch, String, der keine gültige Zahl enthält, in Zahl umzuwandeln n NullPointerException Versuch, auf Objektvariable über null-verweis zuzugreifen II.4.4 Exceptions - 5 -

6 Wo werden Exceptions behandelt public int M1() {.. M2();.... public int M2() { try {.. M3();.. catch (A a) {.. public int M3() {.. M4();.. public int M4() { try {.. // Hier wird eine Exception vom Typ A erzeugt... catch (B b) {.. Aufruf von M4 führt zu Exception A. Diese wird im Aufruf von M2 abgehandelt. II.4.4 Exceptions - 6 -

7 Wo werden Exceptions behandelt public int M1() {.. M2();.. // Hier wird eine Exception vom Typ B erzeugt... public int M2() { try {.. M3();.. catch (A a) {.. public int M3() {.. M4();.. public int M4() { try {.. // Hier wird eine Exception vom Typ A erzeugt... catch (B b) {.. Aufruf von M4 führt zu Exception A. Diese wird im Aufruf von M2 abgehandelt. Exception B im Aufruf von M1 wird vom Laufzeitsystem abgehandelt. II.4.4 Exceptions - 7 -

8 public class NegativeNumberException extends Exception { private int value; public NegativeNumberException(int value) {this.value = value; public int getvalue() {return value; public class TooBigNumberException extends Exception { private int value;... public static int fak (int x) throws NegativeNumberException{ Benutzerdefinierte Exceptions if (x < 0) throw new NegativeNumberException(x); if (x > 16) throw new TooBigNumberException(x); if (x > 1) return x * fak (x - 1); else return 1; try{system.out.println ("Fakultaet von " + x + " ist " + fak(x)); catch (NegativeNumberException nne) {System.out.println ("Fehler! " + nne.getvalue() + " < 0."); catch (Exception e) {System.out.println ("Fehler! Es trat die folgende Ausnahme auf: " + e ); II.4.4 Exceptions - 8 -

9 Benutzerdefinierte Exceptions public class NegativeNumberException extends Exception { private int value; public NegativeNumberException(int value) {this.value = value; public int getvalue() {return value; public class TooBigNumberException extends Exception { private int value;... public static int fak (int x) throws NegativeNumberException,TooBigNumberException{ if (x < 0) throw new NegativeNumberException(x); if (x > 16) throw new TooBigNumberException(x); if (x > 1) return x * fak (x - 1); else return 1; try{system.out.println ("Fakultaet von " + x + " ist " + fak(x)); catch (NegativeNumberException nne) {System.out.println ("Fehler! " + nne.getvalue() + " < 0."); catch (Exception e) {System.out.println ("Fehler! Es trat die folgende Ausnahme auf: " + e ); II.4.4 Exceptions - 9 -

10 Benutzerdefinierte Exceptions public class NegativeNumberException extends Exception {... public class TooBigNumberException extends Exception {... public static void test() throws Exception { int x = Integer.parseInt(System.console().readLine()); try{system.out.println ("Fakultaet von " + x + " ist " + fak(x)); catch (NegativeNumberException nne) {System.out.println("Fehler! " + nne.getvalue() + " < 0."); finally {System.out.println ("Ende des try-catch-blocks"); System.out.println ("Ende der Methode test."); public static int fak (int x) throws NegativeNumberException,TooBigNumberException{ if (x < 0) throw new NegativeNumberException(x); if (x > 16) throw new TooBigNumberException(x); if (x > 1) return x * fak (x - 1); else return 1; try{test(); catch (Exception e) {System.out.println ("Fehler! Es trat die folgende Ausnahme auf: " + e ); II.4.4 Exceptions

11 n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.5 Generische Datentypen

12 Ähnliche Programmteile public class Bruchelement { Bruch wert; Bruchelement next;... public class Wortelement { Wort wert; Wortelement next;... public class Bruchliste { Bruchelement kopf; public class Wortliste { Wortelement kopf; Liste () { kopf = null; void fuegevorneein (Bruch wert) {... Liste () { kopf = null; void fuegevorneein (Wort wert) {... Bruchelement suche (Bruch wert) {... Wortelement suche (Wort wert) {... II.4.5 Generische Datentypen

13 Allgemeine Liste public class Bruchelement { Bruch wert; Bruchelement next;... public class Element { Object wert; Element next;... public class Bruchliste { Bruchelement kopf; public class Liste { Element kopf; Liste () { kopf = null; void fuegevorneein (Bruch wert) {... Liste () { kopf = null; void fuegevorneein (Object wert) {... Bruchelement suche (Bruch wert) {... Element suche (Object wert) {... II.4.5 Generische Datentypen

14 Verwendung der allgemeinen Liste Bruch b1 = new Bruch (1,2), b2 = new Bruch (5,4); Element e; public class Element { Object wert; Element next;... Liste l = new Liste (); l.fuegevorneein (b1); l.fuegevorneein (b2); e = l.suche (b1); l.fuegevorneein ("hallo"); public class Liste { Element kopf; Liste () { kopf = null; void fuegevorneein (Object wert) {... e = l.suche ("hallo"); Element suche (Object wert) {... Listen mit beliebigen Objekten durcheinander II.4.5 Generische Datentypen

15 Generische Liste public class Element <T> { T wert; Element <T> next;... public class Element { Object wert; Element next;... public class Liste <T> { Element <T> kopf; public class Liste { Element kopf; Liste () { kopf = null; void fuegevorneein (T wert) {... Liste () { kopf = null; void fuegevorneein (Object wert) {... Element <T> suche (T wert) {... Element suche (Object wert) {... II.4.5 Generische Datentypen

16 Generische Liste public class Element <T> { T wert; Element <T> next;... Bruch b1 = new Bruch (1,2), b2 = new Bruch (5,4); Element <Bruch> e; public class Liste <T> { Element <T> kopf; Liste () { kopf = null; void fuegevorneein (T wert) {... Liste <Bruch> l = new Liste <Bruch> < > (); l.fuegevorneein (b1); l.fuegevorneein (b2); e = l.suche (b1); l.fuegevorneein ("hallo"); Element <T> suche (T wert) {... e = l.suche ("hallo"); Typfehler (compiliert nicht) II.4.5 Generische Datentypen

17 Generische Klasse public class Element <T> { T wert; Element <T> next;... public class Liste <T> { Element <T> kopf; Eine Klasse, viele Typen: Liste <Bruch>, Liste <Wort>, Generische Typen nur vom Compiler überprüft, nicht zur Laufzeit nicht möglich (statische Methode existiert nur einmal pro Klasse) static Liste () <T> { kopf Element = null; <T> suche (T wert, Element <T> kopf) { if (kopf == null) void fuegevorneein (T wert) {... return null; else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

18 Generische Klasse public class Element <T> { T wert; Element <T> next;... public class Liste <T> { Element <T> kopf; Eine Klasse, viele Typen: Liste <Bruch>, Liste <Wort>, Generische Typen nur vom Compiler überprüft, nicht zur Laufzeit erlaubt (generische Methode) static <T> Element <T> suche (T wert, Element <T> kopf) { if void (kopf fuegevorneein == null) (T wert) { return null;... else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

19 Generische Klasse public class Element <T> { T wert; Element <T> next;... public class Liste <T> { Element <T> kopf; Eine Klasse, viele Typen: Liste <Bruch>, Liste <Wort>, Generische Typen nur vom Compiler überprüft, nicht zur Laufzeit erlaubt (generische Methode) static <S> Element <S> suche (S wert, Element <S> kopf) { if void (kopf fuegevorneein == null) (T wert) { return null;... else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

20 Generische Klasse public class Element <T> { T wert; Element <T> next;... public class Liste <T> { Element <T> kopf; Eine Klasse, viele Typen: Liste <Bruch>, Liste <Wort>, Generische Typen nur vom Compiler überprüft, nicht zur Laufzeit nicht möglich Methode gleich nur in Klassen, die Interface Vergleichbar implementieren static <S> Element <S> suche (S wert, Element <S> kopf) { if void (kopf fuegevorneein == null) (T wert) { return null;... else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

21 Typebounds public class Element <T extends Vergleichbar> { T wert; Element <T> next;... public class Liste <T extends Vergleichbar> { Element <T> kopf; static <S> Element <S> suche (S wert, Element <S> kopf) { if void (kopf fuegevorneein == null) (T wert) { return null;... else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

22 Typebounds public class Element <T extends Vergleichbar> { T wert; Element <T> next;... public class Liste <T extends Vergleichbar> { Element <T> kopf; static <S extends Vergleichbar> Element <S> suche ( ) { if void (kopf fuegevorneein == null) (T wert) { return null;... else if (wert.gleich(kopf.wert)) return kopf; else return suche (wert, kopf.next); Element <T> suche (T wert) {... II.4.5 Generische Datentypen

23 Ober- und Unterklassen class A implements Vergleichbar {... class B extends A {... class C extends A {... B ist Unterklasse von A C ist Unterklasse von A A [] aarray = new A [5]; B [] barray = new B [17]; aarray = barray; aarray[0] = new C (); Liste <A> alist = new Liste < > (); Liste <B> blist = new Liste < > (); alist = blist; alist.fuegevorneein(new C ()); B[] ist Unterklasse von A[] C[] ist Unterklasse von A[] compiliert, aber Typfehler zur Laufzeit Liste <B> ist keine Unterklasse von Liste <A> Liste <C> ist keine Unterklasse von Liste <A> II.4.5 Generische Datentypen

24 n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.6 Collections

25 Collection Framework Typische Datenstrukturen im Paket java.util vordefiniert Liste <T> n Liste () n String tostring () n void fuegevorneein (T wert) LinkedList <T> n LinkedList () n String tostring () n void addfirst (T wert) Iterable <T> Collection <T> Für Unterklassen von Iterable existiert iterator, der angibt, wie Elemente zu durchlaufen sind Set <T> List <T> LinkedList <T> ArrayList <T> II.4.6 Collections

26 Collection Framework interface Iterable <T> { Iterator <T> iterator(); interface Iterator <T> { boolean hasnext(); T next(); void remove(); Iterable <T> Collection <T> Für Unterklassen von Iterable existiert iterator, der angibt, wie Elemente zu durchlaufen sind Set <T> List <T> LinkedList <T> ArrayList <T> II.4.6 Collections

27 Collection Framework interface Iterable <T> { eins zwei drei Iterator <T> iterator(); interface Iterator <T> { boolean hasnext(); T next(); void remove(); LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { String s = it.next(); System.out.println(s); II.4.6 Collections

28 Collection Framework eins zwei drei interface Iterator <T> { boolean hasnext(); T next(); void remove(); LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { String s = it.next(); System.out.println(s); II.4.6 Collections

29 Collection Framework eins zwei drei interface Iterator <T> { boolean hasnext(); T next(); void remove(); LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { String s = it.next(); System.out.println(s); setzt Iterator weiter und liefert "überlaufenes" Element als Ergebnis II.4.6 Collections

30 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { String s = it.next(); System.out.println(s); setzt Iterator weiter und liefert "überlaufenes" Element als Ergebnis II.4.6 Collections

31 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { String s = it.next(); System.out.println(s); setzt Iterator weiter und liefert "überlaufenes" Element als Ergebnis II.4.6 Collections

32 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); while (it.hasnext()) { for (String s : sl) { String s = it.next(); System.out.println(s); System.out.println(s); II.4.6 Collections

33 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); it.next(); it.remove(); for (String s : sl) System.out.println(s); II.4.6 Collections

34 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); it.next(); it.remove(); for (String s : sl) System.out.println(s); II.4.6 Collections

35 Collection Framework eins zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); it.next(); löscht zuletzt "überlaufenes" Element it.remove(); for (String s : sl) System.out.println(s); II.4.6 Collections

36 Collection Framework zwei drei eins zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); it.next(); löscht zuletzt "überlaufenes" Element it.remove(); for (String s : sl) System.out.println(s); II.4.6 Collections

37 Collection Framework zwei drei zwei drei LinkedList <String> sl = new LinkedList < > (); sl.addfirst("drei"); sl.addfirst("zwei"); sl.addfirst("eins"); Iterator <String> it = sl.iterator(); it.next(); löscht zuletzt "überlaufenes" Element it.remove(); for (String s : sl) System.out.println(s);); II.4.6 Collections

38 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); Autoboxing (konvertiert int in Integer) while (it.hasnext()) { Integer i = it.next(); System.out.println(i); for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

39 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); Autoboxing (konvertiert int in Integer) while (it.hasnext()) { Integer i = it.next(); System.out.println(i); for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

40 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); while (it.hasnext()) { Integer int i = it.next(); System.out.println(i); Autoboxing (konvertiert int in Integer) Unboxing (konvertiert Integer in int) for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

41 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); while (it.hasnext()) { Integer int i = it.next(); System.out.println(i); Autoboxing (konvertiert int in Integer) Unboxing (konvertiert Integer in int) for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

42 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); while (it.hasnext()) { Integer int i = it.next(); System.out.println(i); Autoboxing (konvertiert int in Integer) Unboxing (konvertiert Integer in int) for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

43 Collection Framework LinkedList <Integer> il = new LinkedList < > (); il.addfirst(3); il.addfirst(2); il.addfirst(1); Iterator <Integer> it = il.iterator(); while (it.hasnext()) { Integer int i = it.next(); System.out.println(i); Autoboxing (konvertiert int in Integer) Unboxing (konvertiert Integer in int) compiliert, aber Fehler zur Laufzeit for (Integer i : il) System.out.println(i); for (int i : il) { System.out.println(i); il.addfirst(0); II.4.6 Collections

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

II.4.5 Generische Datentypen - 1 -

II.4.5 Generische Datentypen - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 - ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling)

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling) Grundlagen der Programmierung Prof. H. Mössenböck 16. Ausnahmen (Exception Handling) Motivation Fehler können nicht immer dort behandelt werden, wo sie auftreten void p() { q(); Lösung void q() { r();

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1 Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10. Institut für Angewandte Informatik

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10.  Institut für Angewandte Informatik Programmieren I Fehlerbehandlung Exceptions Heusch 2. Bd, 3 Ratz 10 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Exceptions und ihre Behandlung Exception - Ausnahmebedingung

Mehr

Ausnahmebehandlung. Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren. Ausnahmen abfangen. Ausnahmen definieren

Ausnahmebehandlung. Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren. Ausnahmen abfangen. Ausnahmen definieren Ausnahmebehandlung Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren Ausnahmen abfangen Ausnahmen definieren Sinnvolle Verwendung von Ausnahmen Informatik II: Objektorientierte SW-Entwicklung, Algorithmik,

Mehr

1 Fehler-Objekte: Werfen, Fangen, Behandeln

1 Fehler-Objekte: Werfen, Fangen, Behandeln 1 Fehler-Objekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehler-Objekt erzeugt (geworfen). Die Klasse Throwable

Mehr

Vorlesung 10. Sitzung Grundlegende Programmiertechniken

Vorlesung 10. Sitzung Grundlegende Programmiertechniken Vorlesung 10. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 Objektorientierte

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

Überblick. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 854

Überblick. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 854 Überblick 9. Weitere Konzepte der oo Programmierung in Java 9.1 Vererbung, abstrakte Klassen, Polymorphismus 9.2 Interfaces 9.3 9.4 Polymorphie versus Typsicherheit Peer Kröger (LMU München) Einführung

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Programmieren 2 16 Java Collections und Generizität

Programmieren 2 16 Java Collections und Generizität Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Faulheit professionell: Fertige Datenbehälter

Mehr

Kapitel 9: Klassen und höhere Datentypen. Selektoren

Kapitel 9: Klassen und höhere Datentypen. Selektoren Selektoren Üblicherweise erlaubt man keinen (direkten) öffentlichen (public) Zugang zu Objektvariablen mehr Kontrolle über Zugang interne Details besser verborgen Statt dessen: Zugriff auf privates Feld

Mehr

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen

Mehr

15 Fehlerobjekte: Werfen, Fangen, Behandeln

15 Fehlerobjekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehlerobjekt erzeugt (geworfen). Die Klasse Throwable fasst alle Arten von Fehlern zusammen.

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 tobias.witt@hhu.de 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert

Mehr

Grundlagen der Fehlerbehandlung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java.

Grundlagen der Fehlerbehandlung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java. Universität Osnabrück 1 Grundlagen der Fehlerbehandlung 3 - Objektorientierte Programmierung in Java Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Wenn

Mehr

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

15 Fehlerobjekte: Werfen, Fangen, Behandeln

15 Fehlerobjekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehlerobjekt erzeugt (geworfen). Die Klasse Throwable fasst alle Arten von Fehlern zusammen.

Mehr

15 Fehlerobjekte: Werfen, Fangen, Behandeln. Idee. Fehlerklassen. Fehlerklassen

15 Fehlerobjekte: Werfen, Fangen, Behandeln. Idee. Fehlerklassen. Fehlerklassen Idee Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehlerobjekt erzeugt (geworfen). Die Klasse Throwable fasst alle Arten von Fehlern zusammen.

Mehr

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 - ! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck

Mehr

Soll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. NumberFormatException

Soll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. NumberFormatException Soll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. Beispiel: NumberFormatException public class Adding extends MiniJava { public static void main(string[] args) { int

Mehr

9. Fehler und Ausnahmen Grundlagen der Programmierung 1 (Java)

9. Fehler und Ausnahmen Grundlagen der Programmierung 1 (Java) 9. Fehler und Ausnahmen Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 13. Dezember 2005 Einordnung im Kontext der

Mehr

Programmiermethodik 3. Klausur Lösung

Programmiermethodik 3. Klausur Lösung Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Teil II. Objektorientierte Programmierung und objektorientierter Entwurf

Teil II. Objektorientierte Programmierung und objektorientierter Entwurf Teil II Objektorientierte Programmierung und objektorientierter Entwurf 39 Kapitel 8 Robuste Programme durch Ausnahmebehandlung Ziele: Lernen, robuste Programme zu schreiben Ausnahmen als Objekte verstehen

Mehr

Ausnahmenbehandlung in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Ausnahmenbehandlung in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Ausnahmenbehandlung in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Was sind Exceptions? Eine Ausnahme (Exception) ist ein Objekt einer Unterklasse von Throwable Eine Ausnahme

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

15 Fehlerobjekte: Werfen, Fangen, Behandeln

15 Fehlerobjekte: Werfen, Fangen, Behandeln 15 Fehlerobjekte: Werfen, Fangen, Behandeln Tritt während der Programmausführung ein Fehler auf, wird die normale Programmausführung abgebrochen und ein Fehlerobjekt erzeugt (geworfen). Die Klasse Throwable

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

Java Einführung Exception Handling. Kapitel 17

Java Einführung Exception Handling. Kapitel 17 Java Einführung Exception Handling Kapitel 17 Inhalt Was sind Exceptoins? Wie werden sie ausgelöst? Wie kann man Exceptions behandeln? Erweiterung von Exceptions Spezialfall IO 2 Ausnahmezustände Im Ablauf

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung Teil 4 und Exception Handling 2 Übersicht der heutigen Inhalte Interfaces Modifikatoren bei der Klassendefinition Exception Handling

Mehr

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Verschiedene Exceptions Mehrere catch-anweisungen Der finally-block WS

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Programmieren in Java

Programmieren in Java Generische Datentypen 2 Wiederholung: Fehlerbehandlung durch Exceptions Die Ausführung einer Methode kann jederzeit durch das Werfen einer Exception-Instanz beendet werden Methoden, die durch eine Exception

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE38-Generics (Stand 28.09.2012) Aufgabe 1: Schauen Sie sich die generischen Klassen des Paketes java.util an. Aufgabe 2: Ausgangslage sind die folgenden

Mehr

Programmieren I. Kapitel 13. Listen

Programmieren I. Kapitel 13. Listen Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen 7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface

Mehr

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1 Exceptions CoMa-Übung VII TU Berlin 7.11.013 CoMa-Übung VII (TU Berlin) Exceptions 7.11.013 1 / 1 Themen der Übung 1 Compilezeit- und Laufzeitfehler Exceptions 3 Try-Catch-Finally CoMa-Übung VII (TU Berlin)

Mehr

4. Vererbung Die Klasse Object. Die Klasse Object

4. Vererbung Die Klasse Object. Die Klasse Object 4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 12. Fehler und Ausnahmen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 12. Fehler und Ausnahmen 1 Kapitel 12 Ziele 2 Fehlerquellen in Programmen und bei der Programmausführung kennenlernen Das Java-Konzept der Ausnahmen als Objekte verstehen Ausnahmen auslösen können Ausnahmen behandeln können Fehlerhafte

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Fehlerbehandlung und Ein- und Ausgabe Titel der Präsentation 2 Fehler = Exceptions? Die Exception- bzw. Ausnahmebehandlung in Java ist eine spezielle Form der Fehlerbehandlung Typischerweise

Mehr

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Subtyping revisited Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 40 Subtyping und Vererbung

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen

Mehr

Java I Vorlesung Collections

Java I Vorlesung Collections Java I Vorlesung 5 Collections 24.5.2004 Abstrakte Klassen und Interfaces Arrays Java Collections Framework Abstrakte Klassen: Motivation Häufig will man eine Klasse schreiben, die nur als Basisklasse

Mehr

Java : Fehlerbehandlung.

Java : Fehlerbehandlung. Java : Fehlerbehandlung Prinzip Callerklassen / Workerklassen Arbeitet... Callerklasse Arbeitet... Workerklasse Arbeitet... Arbeitet weiter... Fer7g! Prinzip Callerklassen / Workerklassen Main- Methode

Mehr

12. Advanced Features, Abschluss

12. Advanced Features, Abschluss 12. Advanced Features, Abschluss Abstrakte Klassen Ausnahmen Rückblick und Ausblick László Böszörményi ESOP Abschluss - 1 12. 1. Abstrakte Klassen Am oberen Ende einer Hierarchie finden wir oft eine reine

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections

Mehr

public interface Stack<E> { public void push(e e); public E pop();

public interface Stack<E> { public void push(e e); public E pop(); ADS Zusammenfassung René Bernhardsgrütter 02.04.2012 1 Generics Gewähren Typsicherheit und können für verschiedene Datentypen ohne Casts verwendet werden. Beim Erstellen der Klasse werden Platzhalter für

Mehr

3. Übungsbesprechung Programmkonstruktion

3. Übungsbesprechung Programmkonstruktion 3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at December 12, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK December 12, 2011 1 / 13 Rückblick und

Mehr

1.7 Fehler- und Ausnahmebehandlung

1.7 Fehler- und Ausnahmebehandlung 1.7 Fehler- und Ausnahmebehandlung Ein Beispiel: class PhoneBook { int capacity; String names[]; int numbers[]; int count; PhoneBook(int cap) { capacity = cap; names = new String[cap+1]; numbers = new

Mehr

Ausnahmebehandlung in Java

Ausnahmebehandlung in Java Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception

Mehr

Praktische Softwaretechnologie Vorlesung 4

Praktische Softwaretechnologie Vorlesung 4 Praktische Softwaretechnologie Vorlesung 4 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 31. Oktober 2006 p.1/28 Die Klasse

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Abstrakte Datentypen und Java

Abstrakte Datentypen und Java Abstrakte Datentypen und Java ƒ hehueolfn ƒ 5HDOLVLHUXQJYRQ$'7 NRQNUHWH'DWHQW\SHQ %HLVSLHO5DWLRQDOH=DKO ƒ 3DUDPHWULVLHUWH'DWHQW\SHQ %HLVSLHO)HOG6RUWLHUWHV)HOG ƒ 6FKQLWWVWHOOHQNRQ]HSW ƒ :LFKWLJH'DWHQW\SHQLQ-DYD

Mehr

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite

Mehr

Kapitel 18: Java ein paar Kleinigkeiten zum Schluss. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Kapitel 18: Java ein paar Kleinigkeiten zum Schluss. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1 Kapitel 18: Java ein paar Kleinigkeiten zum Schluss Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen

Mehr

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten Dr. Beatrice Amrhein Definition 2 Definition: Ausnahme (Exception) In C# werden Fehler, die zur Laufzeit im

Mehr

Allgemeine Informatik II

Allgemeine Informatik II Klausur zur Vorlesung Allgemeine Informatik II Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2009 (Klausur SS09) Termin: 3. 9. 2009 Name: Vorname: Matrikelnummer: Fachrichtung: Punkte:

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 1. Klausur Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

int x = 3; int y = 11; public A () { this.x = z; y *= z;

int x = 3; int y = 11; public A () { this.x = z; y *= z; Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Aufgabe 1 (Programmanalyse): (13 + 6 = 19 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen

Mehr

Fragenkatalog ESOP WS 16/17

Fragenkatalog ESOP WS 16/17 Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind

Mehr

Grundkonzepte java.util.list

Grundkonzepte java.util.list Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.

Mehr

JAVA KURS COLLECTION

JAVA KURS COLLECTION JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Java - Fehler im Code. Leibniz Universität IT Services Anja Aue

Java - Fehler im Code. Leibniz Universität IT Services Anja Aue Java - Fehler im Code Leibniz Universität IT Services Anja Aue Softwarefehler Programmierfehler entstehen beim Schreiben des Programmcodes. Logische Fehler können durch Denkfehler bei der Umsetzung der

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Exception. 6. Exceptions. Die Klasse java.lang.exception. Fehlermeldung. Klassenname. Ort des Auftretens

Exception. 6. Exceptions. Die Klasse java.lang.exception. Fehlermeldung. Klassenname. Ort des Auftretens 6. Exceptions Exception Hintergrund: Programmieren auf der Basis von Verträgen Kundenklasse Lieferantenklasse Eine Exception ist ein Objekt, das Informationen über einen Programmfehler enthält. Eine Exception

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte)

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte) Klausur zum Kurs 1618 im Sommersemester 2002 am 10.8.2002 1 Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte) Was ist der Unterschied zwischen a) einem Objekt und einer Klasse? b) der Instanz einer Klasse

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Grundlagen der Programmierung. Kapitel 9: Ausnahmen. Überblick. Fehlerbehandlung in Software-Systemen. Ziel der Vorlesung

Grundlagen der Programmierung. Kapitel 9: Ausnahmen. Überblick. Fehlerbehandlung in Software-Systemen. Ziel der Vorlesung Überblick Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Ausnahme: ein Ereignis, das den normalen Programmfluss ändert. Ausnahmen in Java Programmierung von Ausnahmen

Mehr

Exceptions und Vererbung

Exceptions und Vererbung Exceptions und Vererbung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter 2. Exceptions Eigene Exceptions Handling

Mehr

Exceptions - Klausuraufgaben

Exceptions - Klausuraufgaben Exceptions - Klausuraufgaben (1.) Exception ist.! (a.) eine Klasse (b.) eine Schnittstelle (c.) abstrakte Klasse (d.) Keines davon (2.) Exception is in dem Java Package! (a.) java.lang (b.) java.util (c.)

Mehr

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack). Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Enumerations und innere Klassen

Enumerations und innere Klassen Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Programmiermethodik 1. Klausur Lösung

Programmiermethodik 1. Klausur Lösung Programmiermethodik 1. Klausur Lösung 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 16 Aufgabe 1) Objekt-Orientierung und

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr