9. Ausnahmebehandlung
|
|
- Maya Kopp
- vor 5 Jahren
- Abrufe
Transkript
1 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 try-catch: trow: Nutzerdefinierte Ausnahmebehandlung Nutzerdefinierte Erzeugung von Ausnahmen Allgemeines Konzept in jeder Programmiersprache; in Java mit objektorientierte Lösung (Ausnahmen sind Objekte) Version: 11. Jan Ausnahmen Besondere Bedingungen zur Laufzeit des Programms: Fehlersituation Keine sinnvolle Weiterarbeit: Laufzeitfehler Abbruch des Programms Beispiele: Array: falscher Index a[i] Eingabe: Zahl erwartet - aber Buchstabe liegt an Zugriff auf Objekt (Aufruf von Methoden): - existiert aber nur null -Objekt Klasse zur Laufzeit nicht vorhanden (nicht compiliert oder nach Compilation: Klasse gelöscht) Ziel: Trotz Ausnahme soll sinnvolle Weiterarbeit möglich sein Laufzeitfehler und Ausnahmeinformationen Stack-Trace 3 4
2 Beispiele: Laufzeitfehler erzeugen Ausnahmen Beispiele: Laufzeitfehler erzeugen Ausnahmen % java Ausnahme 3 Ausgabe? Wirkung von parseint(): Integer.parseInt( 125 ) Ausgabe? % java Ausnahme 3 i = 3 % java Ausnahme java.lang.arrayindexoutofboundsexception: 0 at Ausnahme.main java.lang.: at Ausnahme.main Ausgabe für die Folie leicht vereinfacht Vergleiche: Verschiedene at -Angaben 6 Inhalt von Ausnahme-Mitteilungen public static void main (String[] args){ Was? Art java.lang.: at Ausnahme.main Wo: In welcher Umgebung? Stack-Trace Details Wo: In welcher Methode (welcher Klasse)? 7 Stack-Trace Umgekehrte Liste aller aktivierten, aber noch nicht beendeten Methoden-Aufrufe static int makeintfromstring (String s) { return Integer.parseInt(s); int i = makeintfromstring(args[0]); Aufruf 1 Aufruf 2 Aufruf 3 main() makeintfromstring( ) parseint( ) aktivierte Methodenaufrufe im Stack (LIFO) parseint makeintfromstring main 8
3 Stack-Trace Umgekehrte Liste aller aktivierten, aber noch nicht beendeten Methoden-Aufrufe static int makeintfromstring (String s) { return Integer.parseInt(s); int i = makeintfromstring(args[0]); java.lang.: at Ausnahme.makeIntFromString Aufruf 3 Aufruf 2 at Ausnahme.main Aufruf 1 Ausgaberichtung (Stack) parseint makeintfromstring main 9 Stack Trace: Ausschriften nicht einheitlich in Java-Versionen Java Platform Standard Ed. 6 Exception in thread main java.lang.: at java.lang.(unknown Source) (Unknown Source) at Ausnahme.makeIntFromString(Ausnahme.java:6) at Ausnahme.main(Ausnahme.java:10) Stack-Trace (Teil: Anwenderprogramm) Konstruktor zur Erzeugung von Ausnahmeobjekten API-Klasse wird durch Java-Interpreter gerufen unknown source : Java API main() befindet sich im File Ausnahme.java in Zeile Ausnahmebehandlung in Java: objektorientierte Lösung Ausnahmebehandlung in Java Bisher: Nach Ausnahme Abbruch des Programms Ziel: Trotz Ausnahme soll sinnvolle Weiterarbeit möglich sein static int makeintfromstring (String s) { return Integer.parseInt(s); int i = makeintfromstring(args[0]); Aufrufreihenfolge (mit aktuellen Parametern) : 4 61 main({"", "4", "61") makeintfromstring("") Integer.parseInt("") Java-VM-Maschine: - entdeckt Ausnahmesituation - erzeugt Objekt (einer Ausnahmeklasse) 11 12
4 Wie kann man sich Objekte zur Beschreibung von Ausnahmen vorstellen? Java-VM-Maschine: erzeugt Objekt (einer Ausnahmeklasse) z. B. Objekt der Klasse : Wie kann man sich Objekte zur Beschreibung von Ausnahmen vorstellen? Java-VM-Maschine: erzeugt Objekt (einer Ausnahmeklasse) z. B. Objekt der Klasse :? Ausnahmeobjekt: enthält alle Daten über eine Ausnahme, so dass diese Informationen ausgegeben werden können. java.lang.: at Ausnahme.makeIntFromString at Ausnahme.main 13 java.lang.: at Ausnahme.makeIntFromString at Ausnahme.main 14 Wie kann man sich Objekte zur Beschreibung von Ausnahmen vorstellen? Java-VM-Maschine: erzeugt Objekt (einer Ausnahmeklasse) Ausnahme-Klassen: Hierarchie (API: in java.lang) Throwable Error Exception Objekt der Klasse : VirtualMachineError RuntimeException Methoden: (String details) IllegalArgumentException ArithmeticException getmessage() printstracktrace() FillInStackTrace() Beispielobjekt: (String details) je Art einer Ausnahme: spezielle Klasse Daten: Art: Details: java.lang.: at Ausnahme.makeIntFromString K. Bothe, at Ausnahme.main Institut für Informatik, HU Berlin, GdP, WS 2015/16 Stack-Trace: Integer.parseInt makeintfromstring main 15 getmessage() Art: Details: Stack-Trace: printstracktrace() FillInStackTrace() Integer.parseInt makeintfromstring main Throwable: Error: Exception: allgemeine Ausnahmeklasse schwerer Fehler (i.allg. nicht behebbar) behandelbar 16
5 API-Klasse Ausnahmebehandlung bedeutet: Auswertung von erzeugten Ausnahmeobjekten Objekt der Klasse (String details) printstracktrace() getmessage() FillInStackTrace() Art: Details: Stack-Trace: Integer.parseInt makeintfromstring main Wer wertet die Information aus? Java-Standard-Ausnahmebehandler (JVM): 17 - Ausgabe der im Ausnahmeobjekt gespeicherten Informationen (s.u.) - Abbruch des Programms java.lang.: at Ausnahme.makeIntFromString at Ausnahme.main 18 Ausnahmebehandlung bedeutet: Auswertung von erzeugten Ausnahmeobjekten Objekt der Klasse (String details) getmessage() Art: Details: Stack-Trace: printstracktrace() FillInStackTrace() Integer.parseInt makeintfromstring main Wer wertet die Information aus? Nutzerdefinierte Ausnahmebehandlung in Java: try-catch-anweisung Java-Standard-Ausnahmebehandler (JVM): - Ausgabe der im Ausnahmeobjekt gespeicherten Informationen (s.o.) - Abbruch des Programms Nutzerdefinierte Ausnahmebehandlung: try-catch - Anweisung 19 20
6 try catch: ein Beispiel try catch: ein Beispiel try: Versuche eine normale Abarbeitung class TryCatch { catch ( e) { System.out.println("Als Kommandozeilen- Argument wird ein int-wert benoetigt"); catch: Falls normale Abarbeitung misslungen ist, fange die Ausnahmesituation ab. Kritische Anweisungen Ausnahme- Situation möglich class TryCatch { catch ( e) { System.out.println("Als Kommandozeilen- Argument wird ein int-wert benoetigt"); Behandlung einer Ausnahmesituation und danach: normale Weiterarbeit try catch: Wirkung im Detail class TryCatch { Evtl. Ausnahmeobjekt o vom Typ t (Ausnahme-Klasse) erzeugt: Falls t zum Typ des Parameters e von catch passt: - Objekt o an Parameter e gebunden - catch Anweisung ausgeführt catch ( e) { System.out.println("Als Kommandozeilen- Argument "); Rolle von e? Programmierer bestimmt, was nach einer Ausnahme (hier: ) passiert, und das Programm wird regulär fortgesetzt! try-block: Ausnahme möglich 23 try catch: Aufruf class TryCatch { catch ( e) { System.out.println("Als Kommandozeilen- Argument wird ein int-wert benötigt"); % java TryCatch 3 i = 3 Ausgabe? % java TryCatch Als Kommandozeilen-Argument wird ein int-wert benötigt % java TryCatch java.lang.arrayindexoutofboundsexception: 0 falsches Argument fehlendes Argument Diese Ausnahme nicht behandelt 24
7 Behandlung mehrerer Ausnahmen class TryCatchAll { catch ( e) { System.out.println("Als Kommandozeilen "); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Aufruf mit einem Par."); catch (Throwable e) { e.printstacktrace(); Methode auf Ausnahmeobjekt angewendet Unterschied: letztes catch Interpreter? Alle Ausnahmen sind kompatibel zu Throwable Kompatibilität von Ausnahmen Error VirtualMachineError Throwable IllegalArgumentException Regel: Ausnahme-Unterklassen sind immer kompatibel zur erwarteten Klasse, d.h. zu Throwable sind alle Ausnahmen kompatibel RuntimeException Throwable: Error: Exception: Exception ArithmeticException je Art einer Ausnahme: spezielle Klasse allgemeinste Ausnahmeklasse schwerer Fehler (i.allg. nicht behebbar) behandelbar try-catch: reguläre Weiterarbeit finally-block class TryCatchAll { catch ( e) { catch (ArrayIndexOutOfBoundsException e) { catch (Throwable e) { System.out.println ("Programm ordentlich beendet"); Mit und ohne Ausnahme: Ausschrift kommt Ohne try-catch: Programm nach Auftreten einer Ausnahme (irregulär) beendet - Am Ende: finally-code immer ausgeführt (mit / ohne Ausnahme) - Idee: gemeinsamer Code für Abschlussaktivitäten (mit/ohne Ausnahmen) class Finally { int i = 1000, j = 0; i /= j; catch (ArithmeticException e) { System.out.println(e); finally { System.out.println (i + " / 0 undef."); Hinweis kommt immer % java Finally / 0 undef
8 Verschachtelte try-anweisungen Beispiel: sicheres Einlesen von Zahlen int x = Integer.parseInt(args[0]); catch ( e) { System.out.println("Innen: " + e); Argument kein 'int' catch (Throwable e) { System.out.println ("Aussen: " + e); kein Argument Falls Ausnahme im inneren catch nicht passt: Suche umgebendes try-catch (bzw. try-catch einer aufrufenden Methode) public static int inteinlesen() { int zahl = 0; boolean ok = false; System.out.print("Zahl eingeben: "); while (!ok) { ok = true; zahl = Keyboard.readInt(); catch ( e ) { System.out.print("Keine Zahl!! Noch einmal:"); ok = false; return zahl; Wer erzeugt Ausnahmeobjekte? Nutzerdefinierte Erzeugung von Ausnahmen in Java: throw-anweisung Hier: Auswertung von Ausnahmeobjekten % java Ausnahme 3 i = 3 % java Ausnahme java.lang.arrayindexoutofboundsexception: 0 at Ausnahme.main(Compiled Code) Frage: Wer hat sie vorher erzeugt? java.lang.: at Ausnahme.main 31 32
9 Wer erzeugt Ausnahmen? API: parseint erzeugt Ausnahme Virtuelle Java-Maschine (Java-Interpreter, Laufzeitsystem): z.b. - Klasse nicht gefunden - falscher Array-Index Methoden des Java-API z. B. Integer.parseInt (in Java implementiert) public static int parseint (String s) throws Nutzer-Programm: Throw-Anweisung parseint wertet s aus und erzeugt ggf. Ausnahme Ausnahmen: erzeugen + behandeln Nutzerdefinierte Ausnahmeklasse mit throw-anweisung import java.util.*; erzeugt wird ausgewertet Ausnahmeobjekt Java-Standard- Ausnahmebehandlung Mitteilungen: Abbruch Ausnahmesituation / Laufzeitfehler Java VM-Maschine (Index-Fehler) API-Methoden (parseint) Nutzerprogramm jetzt nutzerdefinierte Behandlung: try-catch Weiterarbeit 35 class Wochenende extends Exception { Wochenende(String text) { super(text); class Oeffnungszeit { static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static void main(string[] args) { heuteoffen(); catch (Wochenende ex) { System.out.println(ex.getMessage() + "s geschlossen."); 36
10 Nutzerdefinierte Ausnahmeklasse mit throw-anweisung import java.util.*; class Oeffnungszeit { static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static void main(string[] args) { heuteoffen(); catch (Wochenende ex) { System.out.println(ex.getMessage() + "s geschlossen."); class Wochenende extends Exception { Wochenende(String text) { super(text); Normalfall: Arbeitstage (Mo - Fr) Ausnahme: Wochenende (Sa, So) 37 Nutzerdefinierte Ausnahmeklasse mit throw-anweisung import java.util.*; class Oeffnungszeit { static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static void main(string[] args) { heuteoffen(); catch (Wochenende ex) { System.out.println(ex.getMessage() + "s geschlossen."); class Wochenende extends Exception { Wochenende(String text) { super(text); Nutzerdefinierte Ausnahmeklasse trow: Erzeugung von Ausnahmen durch Anwenderprogramm Auswertung des Ausnahmeobjekts: getmessage 38 Nutzerdefinierte Ausnahmeklasse mit throw-anweisung class Oeffnungszeit { Nutzerdefinierte Ausnahmeklasse mit throw-anweisung class Oeffnungszeit { static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static void main(string[] args) { heuteoffen(); catch (Wochenende ex) { System.out.println(ex.getMessage() + "s geschlossen."); Am Wochenende arbeitet das Programm anders als an Arbeitstagen % java Oeffnungszeit Heute geoeffnet % java Oeffnungszeit Samstags geschlossen % java Oeffnungszeit Sonntags geschlossen 39 static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); public static void main(string[] args) { heuteoffen(); catch (Wochenende ex) { System.out.println(ex.getMessage() + "s geschlossen."); Am Wochenende arbeitet das Programm anders als an Arbeitstagen 40
11 Nutzerdefinierte Ausnahmen Neue Ausnahmeklasse: 'Wochenende' class Wochenende extends Exception { Wochenende(String text) { super(text); Error Throwable Exception ex = new Wochende ("Sonntag") ex.getmessage() "Sonntag" Java-API class Exception { Wochenende RuntimeException IllegalArgumentException ArithmeticException public Exception (String s) // erzeugt E. mit Information s public String getmessage () // gibt Information s zurueck Ausnahmeobjekt nach: throw new Wochenende ("Sonntag"); Anwendung: nutzerdefinierte Ausnahme Aufruf in: main() getmessage () Wochenende (String details) printstracktrace() FillInStackTrace() Aufruf in: heuteoffen() Normalfall heuteoffen(); z. B. "Sonntag" catch (Wochenende ex) { System.out.println ( ex.getmessage() + "s geschlossen."); Ausnahmesituation Methode erzeugt Ausnahme Art: Details: Stack-Trace: Wochenende "Sonntag" Wochenende.heuteOffen Wochenende.main static void heuteoffen() throws Wochenende { int tag = Calender // API-Klasse Im Ausnahmefall: nicht erreicht 43 44
12 API Klasse Calender: liefert aktuellen Wochentag static void heuteoffen () throws Wochenende { int tag = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); aktueller Wochentag geliefert 45
9. 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
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
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
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
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
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)
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
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
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)
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.
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();
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
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,
MehrKapitel 9. Ausnahmebehandlung in Java. Skript zur Vorlesung Einführung in die Programmierung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 9 Ausnahmebehandlung in Java Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13
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
MehrGliederung 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
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
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
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
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
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
MehrWo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 280
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
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
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
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
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
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)
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.
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
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
MehrAusnahmebehandlung PK11W-16,
Ausnahmebehandlung PK11W-16, 05. 12. 2011 1 Laufzeitfehler weitere Ausführung unmöglich Ausnahme geworfen Beispiele: ArrayIndexOutOfBoundsException NullPointerException ArithmeticException AssertionError
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
MehrAusnahmenbehandlung 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
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.
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.
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java
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);
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
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
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
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
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
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
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
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)
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)
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
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
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
MehrJava : Fehlerbehandlung.
Java : Fehlerbehandlung Prinzip Callerklassen / Workerklassen Arbeitet... Callerklasse Arbeitet... Workerklasse Arbeitet... Arbeitet weiter... Fer7g! Prinzip Callerklassen / Workerklassen Main- Methode
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
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
MehrExceptions. 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
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
MehrProgrammiertechnik 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 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()
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:
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
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
MehrTeil 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
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
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
MehrAusnahmebehandlung 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
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/
MehrSoll 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
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
MehrExceptions. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Bazzi
Exceptions INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Datei öffnen Ausnahmesituation Exception Behandlung der Situation: exception handling Mögliche Ursachen falscher
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 für NF
Einführung in die Programmierung für NF Fehler und Ausnahmen Valerie Holmeier Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wich@g Quiz nach den jeweiligen AbschniDen Jeder kann mitmachen App socra&ve
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Ausnahmebehandlung und Nebenläufigkeit 9. Vorlesung am 15. Dezember 2010 Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A
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
MehrSoftwareentwicklung II (IB) Exceptions. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Softwareentwicklung II (IB) Exceptions Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 25.06.2018 07:23 Inhaltsverzeichnis Exceptions 1 Idee.........................................
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 Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions
MehrJavakurs 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,
MehrExceptions. Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: :23. Exceptions 1/37
Exceptions Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 25.06.2018 07:23 Exceptions 1/37 Exceptions Exceptions 2/37 Idee (1/3) Laufzeitfehler = Probleme im ablaufenden Programm (im
MehrJohannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften
JAVA Weiterführende Spracheigenschaften 100 AGENDA Strings Exceptions Enums Generics Lambdas & Methods Bulk-Operations 101 DIE KLASSE STRING Zeichenketten werden in Java als String repräsentiert Wie 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/
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
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
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
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/
MehrGrundlagen 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 Wintersemester 2014/2015 Ausnahme: ein Ereignis, das den normalen Programmfluss ändert. Ausnahmen in Java Programmierung
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
MehrKapitel 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
MehrGrundlagen 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
MehrProgrammieren 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