Java-AG Ausnahmebehandlung 10.5.01 Gerhard Gröger.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Real - Time Java Seminar Asynchrone Ereignisse und Asynchroner Kontrolltransfer in Real - Time Java Sönke Eilers.
Tomcat Web-Server installieren
Internetzugriff mit Strings und Streams
Java 2 Enterprise Edition (J2EE)
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Polymorphie (Vielgestaltigkeit)
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Exceptions. import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } Beim Übersetzen dieses.
DO...WHILE Anweisung.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 7 Strukturierte Ausnahmebehandlung (Level 100) Presenter: Daniel Walzenbach Technologieberater.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seminar Softwaretechnik Dipl.-Inform. Susanne Jucknath-John
Copyright 2004 Bernd Brügge Einführung in die Informatik II TUM Sommersemester Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität.
Grundlagen der Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Exception-Handling.
Optimale Ursprungsgerade
ac.at1 EPROG Tutorium #1 Philipp Effenberger Einführung in Java Schlüsselworte Datentypen.
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Mittwoch Informatik II, 1. Teil
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Java-Kurs Übung Benutzeroberflächen und Graphik
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Robuste Programme durch Ausnahmebehandlung
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-AG Datenstreams: Dateibehandlung, Lesen aus und schreiben in eine Datei.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 12. Vorlesung WS 2002/2003.
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 11. Vorlesung WS 2001/2002.
Java-Kurs Übung zAusnahmebehandlung: Exceptions zEin-/Ausgabe yDatenströme.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Exceptions in der Programmiersprache Java.
Singletons, Exceptions und (s)printf. Template Klassen  äquivalent zu Template-Funktionen  beim Erzeugen von Instanzen muss der Typ angegeben werden.
Ein-/ Ausgabe in Java ein Überblick. © eigentlich ganz einfach ? Ein-/Ausgabe durch package java.io Ausgabe (auf Konsole) mit System.out.println()
Java I/O Input / Output stream Library
Java I/O Input / Output stream Library
Praktische Informatik 1
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen
 Präsentation transkript:

Java-AG Ausnahmebehandlung Gerhard Gröger

Problem Behandlung von Laufzeitfehlern in Programmen, z.B. Division durch 0 Überschreitung von Arraygrenzen beim Öffnen von Dateien: Datei nicht vorhanden keine Berechtigung

Lösung Ausnahmebehandlungs-Mechanismus Vorteile: Programm stürzt nicht ab Genau definierter Wiedereinsetzpunkt Gezielte Reaktion auf Fehler Saubere Trennung zwischen 'Normalfällen' und Fehlerbehandlung

Beispiel: Division durch 0 try { int a,b; b = 0; a = 7/b; } catch(Exception e) { a = 0; } Ausnahme wird "zurückgeworfen" (thrown) Ausnahme wird nicht abgefangen Fehlermeldung wird ausgegeben Programm stürzt ab!

Beispiel: Division durch 0 try { int a,b; b = 0; a = 7/b; } catch(Exception e) { a = 0; } fehlerträchtiger Code Ausnahme wird zurückgeworfen Reaktion auf Fehler Ausnahme wird abgefangen hier geht es normal weiter

Hierarchie der Exceptions (Auszug) Throwable ErrorException IOExc. FileNotFoundExc. PrinterExc. PrinterAbortExc. ArithmeticExc. RuntimeExc. NullPointerExc.

Wer verursacht Exceptions? Operatoren, z.B. / Explizit durch throw... Methoden (Schlüsselwort throws) Bsp: public FileInputStream(File file) throws FileNotFoundException jeder Ursache ist eindeutig eine Exception-Klasse zugeordnet Unterscheidung Unchecked Exceptions müssen nicht abgefangen werden Checked Exceptions müssen abgefangen werden (sonst nicht übersetzbar)

Schlüsselwort throw Explizites zurückwerfen: z.B. throw new Exception(); Weiterleiten an äußeres try-catch (verschachteltes try-catch) try {... } catch (Exception e) { //Teilweise Behandlung der Exception.... throw e; //Weiterleiten }

Mehrere Catch-Klauseln try { } catch(IOException e1) {//Reaktion auf IO-Exc.} catch(ArithmeticException e2) {//Reaktion auf Arithm. Exc.} catch(NullPointerExceptione3) {//Reaktion auf Null-Pointer-Exc....} catch(Exception e) {//Reaktion sonst}

Finally try { } catch(IOException e1) {//Reaktion auf IO-Exc.} finally {//Wird in jedem Fall ausgeführt}

Aufgabe Schreiben Sie ein Programm, das folgende Fehler erzeugt und abfängt (mit entsprechender Reaktion): Überschreitung von Arraygrenzen ( ArrayIndexOutOfBoundsException ) Division durch 0 ( ArithmeticException ) Benutzen Sie " try " nur einmal! Syntax: try{...} catch(Exception_1 e_1) {...}......catch(Exception_n e_n) {...}

Javadoc: c:/Programme/jdk1.3/docs/api/index.html