Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen
|
|
- Sabine Baum
- vor 5 Jahren
- Abrufe
Transkript
1 Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen
2 Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java Excep1 a: 15 b: 0 java.lang.arithmeticexception: / by zero at Excep1.doYourJob(Excep1.java:7) 2/27
3 Motivation Unter bestimmten Umständen kann das Programm nicht ordnungsgemäß beendet werden, sondern liefert einen Fehler und bricht ab. Es gibt eine Vielzahl möglicher Fehlerquellen: arithmetische Operationen (Division durch 0, ) Zugriff auf Datei, die nicht existiert Schreibzugriff auf schreibgeschützte Datei Festplattenschaden Programm lädt Daten aus dem Internet herunter, Kommunikationsverbindung bricht ab. Diese Vorlesung handelt davon, wie man in Java-Programmen mit solchen Fehlersituationen umgeht. 3/27
4 Ansätze zur Fehlerbehandlung In älteren Programmiersprachen (z.b. in C) verwendet man die Funktionsrückgabewerte, um fehlerhafte Funktionsausführung anzuzeigen integrierte Fehlerbehandlung Das Fehlschlagen einer Funktion wird dabei üblicherweise durch einen negativen Rückgabewert angezeigt. 4/27
5 Integrierte Fehlerbehandlung C-Stil Fehlerbehandlung in Java: public class Excep2 { public int int doyourjob() { Scanner scanner = new new Scanner(System.in); System.out.print("a: "); "); int int a = scanner.nextint(); System.out.print("b: "); "); int int b = scanner.nextint(); if if ( b == == 0 ) return -1; -1; System.out.println("a / b = " + a/b); return 0; 0; 5/27
6 Integrierte Fehlerbehandlung public static void main(string[] args) { int ret; Excep2 instance = new Excep2(); if if ( ( ret = instance.doyourjob() ) < 0 ) System.out.println("Fehlercode: " + ret); else System.out.println("Job done."); Konsole java Excep2 a: 15 b: 0 Fehlercode: -1 6/27
7 Integrierte Fehlerbehandlung Integrierte Fehlerbehandlung hat mehrere Nachteile: verschiedene Fehlerwerte für verschiedene Funktionen, manchmal bedeutet 0 Fehler, manchmal -1, manchmal jeder negative Wert Aufrufer muss wissen, welchen Wert Funktion im Fehlerfall liefert Fehlerbehandlung integriert in "regulären" Code schwer lesbar Fehler sollten die Ausnahme sein unnatürlich, den Rückgabewert einer Funktion dem Fehlerfall zu widmen Wenn eine Funktion tatsächlich einen Wert liefern soll, muss entweder dieser Wert oder der Fehlercode innerhalb eines Referenztypparameters zurückgegeben werden. 7/27
8 Fehlercode als Referenzparameter Beispiel: Angenommen, die Methode doyourjob druckt das Ergebnis der Division a/b nicht aus, sondern liefert es als Ergebniswert zurück: public class Excep3 { public int int doyourjob(int a, a, int int b, b, int[] error) { if if ( b == == 0 ) { error[0] = -1; -1; return -1; -1; error[0] = 0; 0; return a/b; a/b; 8/27
9 Fehlercode als Referenzparameter public public static static void void main(string[] args) args) { Scanner Scanner scanner scanner = new new Scanner(System.in); System.out.print("a: "); "); int int a = scanner.nextint(); System.out.print("b: "); "); int int b = scanner.nextint(); Excep3 Excep3 instance instance = new new Excep3(); int[] int[] error error = new new int[1]; int[1]; int int ret ret = instance.doyourjob(a, b, b, error); error); if if ( error[0] error[0] == == -1-1 ){ ){ System.out.println("Fehlercode: " + error[0]); else else { System.out.println("a / b = " + ret); ret); System.out.println("Job done."); done."); 9/27
10 Fehlercode als Referenzparameter Alternative: Statt ein Feld zu verwenden könnte man eine Klasse definieren, die eine int-komponente für den Errorcode enthält. Fazit: Funktioniert, aber mühsam, unnatürlich und fehleranfällig Moderne Programmiersprachen, wie z.b. C++ und Java, verwenden Ausnahmen (exceptions) für die Fehlerbehandlung. 10/27
11 Ausnahmen / Exceptions Trennung von regulärem Code und Fehlerbehandlung. Wenn eine Ausnahmesituation eintritt z.b. Division durch 0 wird ein Exception-Objekt erzeugt und mit Informationen zur Fehlerursache und zum Ort des Auftretens initialisiert. Diese Informationen können über geeignete Instanzmethoden abgerufen werden. Exceptions werden nicht als reguläre Methodenrückgabewerte propagiert, sondern über einen speziellen Exception-Mechanismus. 11/27
12 Ausnahmen / Exceptions In Java ist jedes Exception-Objekt eine Instanz der Klasse java.lang.exception, oder einer Subklasse davon. Die Fehlerursache kann mit der Instanzmethode public String getmessage() abgerufen werden. Der Ort des Auftretens kann mit der Instanzmethode public String printstacktrace() abgerufen werden. Konsole java Excep1 Exception-Klasse a = 15 b = 0 java.lang.arithmeticexception: / by zero at Excep1.doYourJob(Excep1.java:10) getmessage() printstacktrace() 12/27
13 Abfangen von Exceptions Wenn eine Ausnahmesituation auftritt, wird eine Exception (Ausnahme) geworfen ("to throw an exception"). Exceptions können im Programm abgefangen werden ("to catch an exception"), um Abstürze zu vermeiden geeignete Fehlerbehandlung durchzuführen, etwa Meldung ausgeben (z.b. in einem geeigneten Fenster) Aufräumen bevor das Programm ordentlich terminiert wird. 13/27
14 Abfangen von Exceptions In Java geschieht dies durch eine Kombination von try und catch Anweisungen: Anweisungen, die fehlschlagen können, werden mit try eingeklammert; Die Fehlerbehandlung folgt in einem oder mehreren catch-blöcken. 14/27
15 Abfangen von Exceptions Beispiel: public public void void doyourjob() { Scanner Scanner scanner scanner = new new Scanner(System.in); System.out.print("a: "); "); int int a = scanner.nextint(); System.out.print("b: "); "); int int b = scanner.nextint(); try try { System.out.println("a/b = " + a/b); a/b); catch(arithmeticexception e) e) { System.out.println("Wir haben haben da da ein ein Problem: Problem: " + e.getmessage()); System.out.println( "Das "Das haetten haetten Sie Sie nicht nicht tun tun sollen..."); 15/27
16 Abfangen von Exceptions Konsole java Excep4 a: 15 b: 0 Wir haben da ein Problem: / by zero Das haetten Sie nicht tun sollen... Beachte: Das Programm terminiert nicht mehr automatisch, nachdem die Exception geworfen wurde! 16/27
17 Beispiel Daten aus Datei lesen Die Lösung in Java benötigt 2 Klassen aus dem Paket java.io, nämlich FileReader und BufferedReader. Eine Instanz der Klasse FileReader repräsentiert eine zum Lesen geöffnete Datei. Mit Hilfe der folgenden Zeile wird ein Objekt f vom Typ FileReader erzeugt, das Daten aus der Datei vals.txt lesen kann: FileReader f = new FileReader("vals.txt"); Beachte: Mit einem FileReader-Objekt kann man eine Datei nur zeichenweise einlesen. 17/27
18 Beispiel Daten aus Datei lesen Instanzen der Klasse BufferedReader erlauben, Dateien zeilenweise einzulesen. Die folgende Anweisung erzeugt ein solches Objekt unter Verwendung des zuvor erzeugten FileReader-Objekts: BufferedReader b = new BufferedReader(f); Beide Anweisungen können zusammengefasst werden: BufferedReader b = new BufferedReader(new FileReader("vals.txt")); Damit sieht der 1. Lösungsversuch wie folgt aus: 18/27
19 Beispiel Daten aus Datei lesen import java.io.*; public class Mittelwert { private static int anzahl = 0; 0; public static int parse(string s) s) { anzahl++; return Integer.parseInt(s); Fortsetzung auf nächster Folie 19/27
20 Beispiel Daten aus Datei lesen public static void void main(string[] args) { Scanner scanner = new new Scanner(System.in); System.out.print("Dateiname: "); "); String filename = scanner.next(); BufferedReader datei = new new BufferedReader(new FileReader(fileName)); double mittel = 0.0; 0.0; String line line = datei.readline(); while ( line line!=!= null null ) { mittel += += parse(line); line line = datei.readline(); mittel /= /= anzahl; Fortsetzung System.out.println("Mittelwert: auf nächster Folie " + mittel); 20/27
21 Beispiel Daten aus Datei lesen Aber: Der Versuch, die Klasse zu übersetzen (javac Mittelwert.java) liefert folgende Fehlermeldung: Mittelwert.java:16: unreported exception java.io.filenotfoundexception; must must be be caught caught or or declared declared to to be be thrown thrown new new BufferedReader(new FileReader(fileName)); ^ Mittelwert.java:18: unreported exception java.io.ioexception; must must be be caught caught or or declared declared to to be be thrown thrown String String line line = datei.readline(); ^ Mittelwert.java:21: unreported exception exception java.io.ioexception; must must be be caught caught or or declared declared to to be be thrown thrown line line = datei.readline(); ^ 21/27
22 Beispiel Daten aus Datei lesen public static void void main(string[] args) { Scanner scanner = new new Scanner(System.in); System.out.print("Dateiname: "); "); String filename = scanner.next(); BufferedReader datei = new new BufferedReader(new FileReader(fileName)); double mittel = 0.0; 0.0; String line line = datei.readline(); while ( line line!=!= null null ) { mittel += += parse(line); line line = datei.readline(); mittel /= /= anzahl; System.out.println("Mittelwert: " + mittel); FileNotFoundException möglich IOException möglich 22/27
23 Beispiel Daten aus Datei lesen Mögliche Lösung: throws-klausel im Kopf der main-methode: import import java.io.*; import import java.util.scanner; public public class class Mittelwert2 { private private static static int int anzahl anzahl = 0; 0; public public static static int int parse(string s) s) { public public static static void void main(string[] args) args) throws throws FileNotFoundException, IOException { Effekt: Reicht die Exception durch zur aufrufenden Methode, in diesem Fall das Java-Laufzeitsystem, das das Programm mit einer Fehlermeldung abbricht. 23/27
24 Beispiel Daten aus Datei lesen Konsole java java Mittelwert2 Datei: bals.txt Exception in in thread "main" java.io.filenotfoundexception: bals.txt (Das (Das System kann kann die die angegebene Datei nicht nicht finden) at at java.io.fileinputstream.open(native Method) at at java.io.fileinputstream.<init>(unknown Source) at at java.io.fileinputstream.<init>(unknown Source) at at java.io.filereader.<init>(unknown Source) at at Mittelwert.main(Mittelwert2.java:16) 24/27
25 Beispiel Daten aus Datei lesen Alternative: Exceptions abfangen public public static static void void main(string[] main(string[] args) args) { BufferedReader BufferedReader datei datei = null; null; Scanner Scanner scanner scanner = new new Scanner(System.in); boolean boolean success; success; do do { System.out.println("Dateiname: "); "); String String filename filename = scanner.next("dateiname: "); "); System.out.println("Datei: " + filename); filename); try try { datei datei = new new BufferedReader(new BufferedReader(new FileReader(fileName)); success success = true; true; catch catch ( FileNotFoundException e ) { success success = false; false; while while (!success!success ); ); 25/27
26 Beispiel Daten aus Datei lesen double double mittel mittel = 0.0; 0.0; try try { String String line line = datei.readline(); while while ( line line!=!= null null ) { mittel mittel += += parse(line); line line = datei.readline(); mittel mittel /= /= anzahl; anzahl; System.out.println("Mittelwert: " + mittel); mittel); catch catch ( IOException e ) { System.out.println("Fehler beim beim Einlesen"); System.exit(0); 26/27
27 Erzeugen von Exceptions Mit der throw-anweisung können Exceptions auch selbst ausgelöst werden: throw <Exception> Syntaxregel Beispiel: if if (param (param <= <= 0){ 0){ Exception newexception = new new IllegalArgumentException( "Parameter "Parameter muss muss größer größer Null Null sein"); sein"); throw throw newexception; 27/27
Programmiertechnik Ausnahmen
Programmiertechnik Ausnahmen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation public class Excep1 { public void doyourjob() { Scanner scanner = new Scanner(System.in); System.out.print("a:
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 9: Ausnahmebehandlung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 8. Dezember
MehrAusnahmebehandlung. 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,
Mehr7. Java Fehler und Ausnahmen
Fehler und Ausnahmen in Java 7. Java Fehler und Ausnahmen Fehler und Ausnahmen unterbrechen die normale Programmausführung abrupt und stellen eine nicht geplantes Ereignis dar. Ausnahmen sind böse, oder
MehrVorlesung 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
MehrAusnahmen (Exceptions)
Ausnahmen (Exceptions) Herkömmliche Fehlerbehandlung Jede Methode liefert einen Fehlercode int result; result = p(); if (result == ok) { result = q(); if (result == ok) { result = r(); if (result == ok)
MehrRobuste Programme durch Ausnahmebehandlung
2 Robuste Programme durch Ausnahmebehandlung Martin Wirsing Ziele Lernen robuste Programme zu schreiben Ausnahmen als Objekte verstehen lernen Bedeutung von Ausnahmen erkennen in der Signatur und im Rumpf
MehrJava 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
Mehr1 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
MehrProgrammieren 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
Mehr7. Java Input/Output. Benutzereingaben/Konsolenausgabe, Datei Ein- und Ausgabe (I/O)
116 7. Java Input/Output Benutzereingaben/Konsolenausgabe, Datei Ein- und Ausgabe (I/O) 117 Benutzereingaben (die halbe Wahrheit) z.b. einer Zahl: int i = In.readInt(); Unsere In Klasse stellt diverse
MehrAusnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Fehlerarten Bei der Programmierung
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:
MehrGrundlagen 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();
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 11. Fehler und Ausnahmen
1 Kapitel 11 Ziele 2 Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen können Ausnahmen behandeln können Fehlerhafte
MehrAusnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Fehlerarten Bei der Programmierung
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 13/14. Kapitel 11. Fehler und Ausnahmen
1 Kapitel 11 Ziele 2 Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen können Ausnahmen behandeln können Fehlerhafte
Mehr9. Ausnahmebehandlung
Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung : http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten: Syntaktische Fehler
Mehr! 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
MehrAusnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Dr. Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Action required now 1. Smartphone: installiere die App "socrative
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Motivation Programm zur Berechnung von public class Eval1 { public static void main(string[] args) { java.util.scanner
Mehr9. Ausnahmebehandlung
9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Version: 11. Jan. 2016 Schwerpunkte Ausnahmen und Laufzeitfehler
MehrZuverlässigkeit von Programmen: Behandlung von Ausnahmesituationen
Zuverlässigkeit von Programmen: Behandlung von Ausnahmesituationen 6.1 Behandlung von Ausnahmesituationen 6.3 Die Zusicherungsanweisung 6.1 Behandlung von Ausnahmesituationen 6-1 ArithmeticException import
MehrKapitel 12: Ausnahmen und Ausnahmebehandlung
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 12: Ausnahmen und Ausnahmebehandlung Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrII.4.4 Exceptions - 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.4 Exceptions - 1 - Ausnahmen (Exceptions)
Mehr12. Java Fehler und Ausnahmen
Fehler und Ausnahmen in Java 12. Java Fehler und Ausnahmen Fehler und Ausnahmen unterbrechen die normale Programmausführung abrupt und stellen ein nicht geplantes Ereignis dar. Ausnahmen sind böse, oder
MehrJava 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
MehrAusnahmen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik
Ausnahmen Zentralübung zur Vorlesung http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arten von Fehlern Auslösen von Ausnahmen Vermeiden von Ausnahmen Ausnahmeklassen
MehrKapitel 11: Ausnahmebehandlung
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -242 Kapitel 11: Ausnahmebehandlung Ausnahmen (Exceptions) Signalisierung von Fehlern und unerwünschten Situationen zur Laufzeit.
MehrMögliche Implementierung von intern():
Mögliche Implementierung von intern(): public class String { private static int n = 1024; private static List[] hashset = new List[n]; public String intern() { int i = (Math.abs(hashCode()%n);
MehrGrundlagen 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
MehrListe 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
MehrSelectionsort Beispiel
Selectionsort Arbeitsweise Durchsuche das Array ab Pos. 1 nach dem kleinsten Element Vertausche das gefundene Element mit dem ersten Durchsuche das Array ab Pos. 2 nach dem kleinsten Element Vertausche
MehrObjektorientierte Programmierung. Kapitel 9: Exceptions I
9. Exceptions I 1/37 Objektorientierte Programmierung Kapitel 9: Exceptions I Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/
Mehr6. Java Fehler und Ausnahmen
Fehler und Ausnahmen in Java 6. Java Fehler und Ausnahmen Fehler und Ausnahmen unterbrechen die normale Programmausführung abrupt und stellen ein nicht geplantes Ereignis dar. Ausnahmen sind böse, oder
MehrExceptions - 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.)
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt!! 26.03.2014 FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert von Methoden! String Fehlercode als String! int Fehlercode
MehrProgrammiertechnik Klassenmethoden
Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner
MehrAbschnitt 7: Weitere Konzepte der oo Programmierung in Java
Abschnitt 7: Weitere Konzepte der oo Programmierung in Java 7. Weitere Konzepte der oo Programmierung in Java 7.1 Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 596 / 627 Überblick
Mehr9. Ausnahmebehandlung
9. Ausnahmebehandlung 9.1 Motivation: Defensives Programmieren 9.2 Anforderungen an Programmiersprachen 9.3 Ausnahmebehandlung in Java 9.4 Laufzeitfehler und Ausnahmen 9.5 Aufräumarbeiten 9.6 C# und Java,
MehrHandbuch konsultieren!
Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string
MehrEINFÜ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
Mehr1.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
MehrObjektorientierte Programmierung. Kapitel 13: Exceptions
Stefan Brass: OOP (Java), 13. Exceptions 1/39 Objektorientierte Programmierung Kapitel 13: Exceptions Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/
Mehr15 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.
MehrException. 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
Mehr6. Java Fehler und Ausnahmen. Fehler, Systemausnahmen, Benutzerausnahmen, Behandeln von Ausnahmen, Spezialfall Ressourcen
129 6. Java Fehler und Ausnahmen Fehler, Systemausnahmen, Benutzerausnahmen, Behandeln von Ausnahmen, Spezialfall Ressourcen Fehler und Ausnahmen in Java 130 Fehler und Ausnahmen unterbrechen die normale
MehrAusnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.
Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.6.07 G. Bohlender (IANM UNI Karlsruhe) Ausnahmen 27.6.07 1 / 8 Übersicht 1 Einführung
MehrSortieralgorithmen. Nachfolgend wird die Menge der ganzen Zahlen und die darauf definierte Relation betrachtet.
Sortieralgorithmen [http://de.wikipedia.org/wiki/topologische_sortierung] Die zu sortierenden Objekte müssen bezüglich einer Vergleichsbeziehung teilweise angeordnet werden können, damit sie sortierbar
Mehr15 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.
Mehr15 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Ü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
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassen Motivation Aufgabe: Programm zur Adressverwaltung (20 Adressen) Adresse besteht aus: Name Adresse (Straße und Wohnort) Postleitzahl
MehrEinfü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
MehrII.4.4 Exceptions - 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 - Ausnahmen
MehrJava : Fehlerbehandlung.
Java : Fehlerbehandlung Prinzip Callerklassen / Workerklassen Arbeitet... Callerklasse Arbeitet... Workerklasse Arbeitet... Arbeitet weiter... Fer7g! Prinzip Callerklassen / Workerklassen Main- Methode
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 13. Java Ausnahmebehandlung 1 Motivation
MehrKapitel 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
MehrAusnahmen. 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
Mehr9. 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
MehrObjektorientierte Programmierung. Kapitel 9: Exceptions I
Stefan Brass: OOP (Java), 9. Exceptions I 1/37 Objektorientierte Programmierung Kapitel 9: Exceptions I Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/
Mehr15 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
Mehr15 Fehlerobjekte: Werfen, Fangen, Behandeln. Idee. Fehlerklassen. Fehlerklassen
15 Fehlerobjekte: Werfen, Fangen, Behandeln Idee Tritt während der Programmausführung ein Fehler auf, wird die normale Programmausführung abgebrochen und ein Fehlerobjekt erzeugt (geworfen). Die Klasse
Mehr15 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
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 13: Ausnahmen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Ausnahmen (Exceptions) Motivation Fehlerbehandlung Klassenhierarchie Checked vs. Unchecked
MehrJava - Programmierung - Prozedurale Programmierung 1
Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,
Mehr4.5 Exceptions. TU Darmstadt Allgemeine Informatik II, SS 05
4.5 Exceptions In der Abarbeitung eines Methodenaufrufs kann die Methode immer potentiell auf Probleme stoßen, mit denen sie selbst nicht umzugehen weiß. Exceptions geben einer Methode die Möglichkeit,
MehrÜbungsstunde 9. Einführung in die Programmierung I
Übungsstunde 9 Einführung in die Programmierung I Probleme bei Übung 8 [TODO Assistent] Nachbesprechung Übung 9 Aufgabe 1 Spieler Spieler[] spieler = { new ZufallsWortSpieler(), new ZufallsWortSpielerMitGedaechtnis(),
MehrEinführung in die Programmierung für NF. Fehler und Ausnahmen
Einführung in die Programmierung für NF Fehler und Ausnahmen Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java- Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen
MehrKomponenten-basierte Entwicklung Teil 4: Exceptions
Komponenten-basierte Entwicklung Teil 4: Exceptions 31.10.14 1 Definitionen I Exception = Ausnahme = Situation, in der während einer Operation eine der Bedingungen des Typs bzw. der Klasse verletzt wird
MehrAusnahmebehandlung PK11W-16,
Ausnahmebehandlung PK11W-16, 05. 12. 2011 1 Laufzeitfehler weitere Ausführung unmöglich Ausnahme geworfen Beispiele: ArrayIndexOutOfBoundsException NullPointerException ArithmeticException AssertionError
MehrAusdrucksbäume in verschiedenen Darstellungen
Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
Mehrboolean ispalindrome = word.equalsignorecase(reverse.tostring());
Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file;
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrÜbungen zu Middleware Universität Erlangen-Nürnberg Informatik 4, 2007 Z-Java-Exceptions.fm
Z.11Fehlerbehandlung Programm beenden (System.exit()) meist eine schlechte Idee Ausgabe einer Fehlermeldung hilft nicht den Fehler zu überwinden spezieller Rückgabewert kennzeichnet Fehler Konstruktoren
MehrUmgang mit Fehlern. Sinn von Ausnahme-/Fehlerobjekten Dokumentation Umgang mit Fehlern Eigene Fehlerklassen
Umgang mit Fehlern Sinn von Ausnahme-/Fehlerobjekten Dokumentation Umgang mit Fehlern Eigene Fehlerklassen Die Java-Fehlerbehandlung stellt gegenüber älteren Verfahren einen großen Fortschritt dar. Prof.
MehrProgrammiertechnik Klassen
Programmiertechnik Klassen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Aufgabe: Programm zur Adressverwaltung (20 Adressen) Adresse besteht aus: Name Adresse (Straße und Wohnort)
MehrJava I Vorlesung Exceptions
Java I Vorlesung 8 Exceptions 14.6.2004 Exceptions (Ausnahmen) Klassen für Ein- und Ausgabe Ausnahmen Ausnahmen (Exceptions) sind ein Mechanismus zum kontrollierten Melden und Reagieren auf Fehler. Man
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrEinstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Übersicht Ausnahmen 2 Klassenhierarchie 3 Try-Catch-Blöcke 4 Definition
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 19. 25. Februar 2003 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
Mehr1 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)
MehrCoMa 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)
MehrExceptions. CoMa-Übung VI TU Berlin. CoMa-Übung VI (TU Berlin) Exceptions / 19
Exceptions CoMa-Übung VI TU Berlin 8.11.01 CoMa-Übung VI (TU Berlin) Exceptions 8.11.01 1 / 19 Themen der Übung 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Exceptions 4 Try-Catch-Finally Bewertung
MehrEinführung in die Programmierung
Einführung in die Programmierung Teil 9: Ausnahmebehandlung Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Robuste Programme durch Ausnahmebehandlung Eine Ausnahme (Exception)
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrExceptions. 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)
MehrInformatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17
Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung
MehrProgrammieren in Java
Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner
Mehr