Exeptions Flashcards
(26 cards)
Was ist eine Exception?
Ein Event der bei Ausführung des Programms auftaucht.
Was passiert, wenn ein Error geschieht?
Throwing an Exception
Was passiert bei “Throwing an Exception?
a) Exception Objekt Schaffung
b) Übergabe an Runtime System
Was ist im Exception Objekt drinnen?
Spezifische info über Error:
Typ
State des Programms zum Zeitpunkt des Auftauchens
Welche Challenges muss mach bewältigen, bei Exception-Handling
Wie handeln wir?
Wo machen wir dies? Main oder Methode selbst
Was ist Call Stack
Bei Exception wird das Object hierarchisch von Methode zu Methode weitergegeben ?
Was ist besser?
Handling oder Carefull Programming?
Carefull Programming
Welche Optionen habe ich bei der es zu Exeptions kommen kann.
o1) locally mit try/catch block
o2) pass it on to the call stack hierarchie, and handle it elsewhere.
Wo sollte Handling am Besten geschehen?
lokal
Wann ist es gut die Exception weiterzugeben?
Wenn die Exeption oder eben ihre Informationen weiter oberhalb im Call Stack verwendet werden -Kontext Informationen
Oder mehrere Methoden machen gleiche Exception, dann ist Option2 eine Art Trichter/Sammler
was gehort in try{..}?
der Teil der eine Exception werfen kann.
was gehört im catch {…}-block?
Code für://Do somethnig usefull if Exception occur!
Wie kann ich statt mehrere catch-Blöcke nur mit einem Catch-Block mehrere Exceptions handeln?
catch (Exeption1|Exception2 ex){}
siehe pipe bei auflistung und ex für das object
Für welchen spezifischen User-Fall mache ich try/catch
unsinniger UserInput, string statt int eingegeben
was ist der Unterschied zwischen Checked und Unchecked?
Checked:
damit kann ich umgehen. Umfasst alles Vermeidbare., damit das Programm in Runtime damit umgehen kann.
Unchecked:
Nicht vermeidbar, mit Input Validation.
Umfast alles was in Runtime nicht zu vermeiden mit input validation.
“Programmer should have checked this!”
Was kann ich machen bei Checked Exceptions?
Exception-Klasse erweiter
Compiler weisst schon darauf hin, diesen beachten.
Input/Output-Handling umsetzen, da häufigste Checked sind durch UserInput.
Was mache ich bei Unchecked Exceptions?
ArtithmeticException NullPonterException IllegalArgumentException IllegalStateException IndexOutOfBoundsExceptions
Was ist die finally-Clause?
mit ihr kann ich sicherstellen, dass etwas immer durchgeführt werden soll. zb. scanner.clos()
wann kommt die finnalyClause zum Zuge
immer, egal ob mit Exception oder nicht.
Was ist kann ich machen um Userinput zu prüfen?
User Input Validation
Gehort Falscher user Input zu den erwarteten Errors
ja!
Beispiele für Input Validation
range prüfen
Input Typ
NumberFormatException e
InputMismatfchExcetopn e
Self Made Exception Types, sind eigene Klassen oder Subklassen?
sub
Welche Klassen erweitere ich mit Self Made Exc?
Exception: checked
RuntimeExceptions: unchecked