PKA
Programmierkurs A (Java, Gui, Exceptions, Problemlösung..)
Programmierkurs A (Java, Gui, Exceptions, Problemlösung..)
-
- 1 / 35
-
Cartes-fiches
Nenne die Schichten der 3-Schichten-Architektur.
2: UI (GUI) {View, Controller}
1: Fachkonzept {Businessmodell}
0: Datenhaltung {Persistenz}
4 Eigenschaften einer guten Architektur
-Wiederverwendbarkeit
-Änderbarkeit/ Wartbarkeit
-Testbarkeit
-Portabilität
Typische Trennung von Zuständigkeiten (4 Begriffe)
Fachlicher & technischer Aspekt
Anwendungsfunktionen & Benutzerfunktionen
Aufgaben der Controllerklasse
-übernimmt Steuerung der Anwendung über Oberfläche
-erzeugt sämtliche View Objekte
DAO =
Data Access Object
CRUD-Methode
create-read-update-delete
Gründe für Zusammenfassung von Klassen zu Komponenten
-nach Funktionalität
-nach Zugehörigkeit zu gemeinsamem Konzept
-nach logischer Zusammengehörigkeit
Was enthält der Funktionsprototyp?
Was bewirkt Kapselung?
interne Realisierung der Klasse bleibt nach außen verborgen & wird nicht verändert
Wie wird Kapselung realisiert?
Referenzen nur auf Kopien der internen Struktur
Dokumentation zu Beginn einer Klasse
@author name
@version version
@see reference
Dokumentation vor einer Methode
@param Name description
@return description
@see reference
@deprecated description (wie veraltete Methode zu ersetzen ist)
@exception classname description
@throws classname Description
Nachteile Return Codes
Fehlerwert wird statt Rückgabewert zurückgegeben
Bedeutung muss vorher abgesprochen werden
komplizierte Fehlerauswertung über mehrere Methoden
Oberklasse der Fehlersignale
Exception
Welche 3 Fehler kann der Programmierer kaum beeinflussen?
1 AbstractMethodError
2 OutOfMemoryError
3 StackOverflowError
RuntimeExceptions (4)
1 ArithmeticException
2 ArrayIndexOutOfBoundsException
3 IllegalArgumentException
4 NullPointerException
IOExceptions (3)
1 FileNotFoundException
2 MalformedURLException
3 UnknownHostException
Deklaration einer eigenen Exception
public class EigeneException extends Exception { }
Deklaration von EigeneException der eine Nachricht mitgegeben wird
Public class EigeneException extends Exception {
Public EigeneException(){
Super();
}
public EigeneException(String Message) {
super(Message);
}
}
Eine Exception werfen
Throw new Exception();
Wo wird die Exception deklariert, die die Methode im Fehlerfall werfen kann?
im throws-Teil des Methodenkopfes
zb:
public Buch getBuch (Long id) throws BuchNichtGefundenException { }
Wie wirkt die throw-Anweisung?
Was passiert wenn Im Try Block eine Exception Auftritt?
Sprung zur ersten passenden Bearbeitungsstelle (catch-Block)
Catch Reihenfolge
3 Versch. Behandlungen vonAusnahmen
1 mit catch fangen und behandeln
2 mit catch fangen und andere Ausnahme werfen
3 nicht fangen, sondern weiterfliegen lassen
Code: fangen & werfen einer neuen Exception
....
catch (ArrayOutOfBoundsException) {
throw new ListenEndeException();
}
Was passiert wenn eine Exception nicht gefangen wird?
Weiterleitung an aufrufende Methode
Wenn niemand fängt -> Behandlung durch JVM
Der Finally-Block
Was sind Checked Exceptions?
Deklarierte Exceptions, für die der Compiler bestätigt hat, dass sie behandelt werden.
Operation der Klasse Throwable, die einen Fehlertext liefert
public String getMessage()
Operation der Klasse Throwable, die einen Auszug aus dem Laufzeitkeller in den Standardausgabestrom schreibt
public void printStackTrace()
Operation der Klasse Throwable, die den Namen der Fehlerklasse & Fehlertext liefert
public String toString()
Die Überschreibende Methode darf ....... Exceptions werfen wie/als die überschriebene Methode
Code: Übergeabe von Fehlerursache im Kondtruktor der Exception
throw new UngueltigerWertException ("Kein Titel angegeben,");
Beim Fangen der Methode auf die Message zugreifen
catch (UngueltigerWertException e) {
System.out.println(e.getMessage());
}