Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_02 - 1 Ausnahmen (Exceptions)

Slides:



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

Objektorientierte Programmierung
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Ein Beispiel in Java.
Einführung in die Programmierung Ausführbare Klassen
Einführung in die Programmierung Zusammenfassung
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
Verzweigung oder bedingte Anweisung Weiter mit PP.
IF-ELSE-IF-Ketten Weiter mit PP..
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Java-AG Ausnahmebehandlung Gerhard Gröger.
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
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.
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Socket-Programmierung
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Optimale Ursprungsgerade
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.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Mittwoch Informatik II, 1. Teil
Programmiervorkurs WS 2014/15 Methoden
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.
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
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
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.
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Wieland Schwinger Softwareentwicklung 2 Assertions.
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, WS 2005/06 1 Beispiel class SpreadSheet { int cellA1, cellA2, cellA3; synchronized.
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Exceptions in der Programmiersprache Java.
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
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Schleifen mit der Turtle
Ausnahmen Exceptions Definition Ausnahmen erzeugen Ausnahmen abfangen
 Präsentation transkript:

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Kehrwert public int kehrwert(int i) { if (i!=0) { return (double) 1/i; } else { // WHAT TO DO HERE?! return 0;// an integer needs to be returned } } // end kehrwert Exceptions!

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Kehrwert public class ExceptionTest { public static void main(String [] args) { int i = 0; try { IO.writeLn("Kehrwert von " + i + " ist " + kehrwert(i)); } catch (Exception e) { IO.writeLn("Kehrwert konnte nicht berechnet werden"); } private static double kehrwert(int i) throws Exception { if (i!=0) { return (double) 1/i; } else { throw new Exception(); } } // end kehrwert } // end class

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Kehrwert public class ExceptionTest { public static void main(String [] args) { int i = 0; try { IO.writeLn("Kehrwert von " + i + " ist " + kehrwert(i)); } catch (KehrwertVonNullNichtMoeglichAussnahme e) { IO.writeLn("Kehrwert konnte nicht berechnet werden"); } catch (Exception e) { IO.writeLn("Ein anderer schwerer Fehler ist aufgetreten!"); } private static double kehrwert(int i) throws KehrwertVonNullNichtMoeglichAusnahme { if (i!=0) { return (double) 1/i; } else { throw new KehrwertVonNullNichtMoeglichAussnahme(); } } // end kehrwert } // end class

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Kehrwert public class KehrwertVonNullNichtMoeglichAusnahme extends Exceptions { public KehrwertVonNullNichtMoeglichAusnahme() { super(); } } // end class

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Exceptions  Dienen zum Anzeigen von "Ausnahmen", die nicht über den Rückgabewert zurückgegeben werden sollen.  Ausnahmen sind selbst Objekte und können eine eigene Klassenhierarie formen.  Ausnahmen unterbrechen sofort die Abarbeitung.  Ausnahmen lösen eine Ausnahmebehandlungs- Lookup aus.

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Exceptions try {... p();... } catch (Exception e) { System.out.println(e.toString()); } geschützter Block Exception Handler Auslösen einer Exception void p() throws Exception {... throw new Exception(); // nie erreicht }

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Exceptions: Beispiel Dateiverarbeitung Import java.io.*;... Person[] persons = new Persons[100]; try { //Überwachung eines Programmteils // initializiere Dateibuffer File eingabeDatei = new File("personenDatei.txt"); FileReader eingabeStrom = new FileReader(eingabeDatei); // FileReader ist ein spezializierter InputStreamReader BufferedReader eingabe = new BufferedReader(eingabeStrom); // lese alle Zeilen ein int i = 0;// zaehlt die Zeichen while ((zeile = eingabe.readLine()) != null) { persons[i] = new Person(zeile); i++; } // solange Zeilen in Datei } catch (IOException e) { // Eigene Fehler Behandlung e.printStackTrace();// gibt die Fehlerinformationen aus }... Throws: IOException - If an I/O error occurs

Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Exception-Klassen Checked Exceptions Object Throwable Throwable(msg) getMessage(): String toString(): String printStackTrace(stream) ErrorException RuntimeException benutzerdefinierte Exceptions Basisklasse aller Exceptions Systemfehler (z.B. beim Laden einer Klasse) Laufzeitfehler (z.B. Index-Check, null-Check,...) try {... } catch (MyException e) {...// fängt MyException und Unterklassen } catch (Exception e) {...// fängt Exception und Unterklassen } catch (Throwable e) {...// fängt alle Exceptions }