Senior Schreiberling
Date of registration: Jul 5th 2003
Location: Malaga
Occupation: Senior Cloud Solution Engineer bei Oracle
Senior Schreiberling
Date of registration: Jul 5th 2003
Location: Malaga
Occupation: Senior Cloud Solution Engineer bei Oracle
Quoted
Original von metalhen
bei einem spontanen Test ging sie soeben bei mir ( !130.75.*)
schönes Wochenende!
Senior Schreiberling
Date of registration: Jul 5th 2003
Location: Malaga
Occupation: Senior Cloud Solution Engineer bei Oracle
Quoted
Original von NullAhnung
Mein Problem ist: Wie teste ich den Interpreter mit den Beispielen?
Quoted
Original von Sinan
Sind diese auch fehlerhaft und muss der Interpreter entsprechend modifiziert werden?
Senior Schreiberling
Date of registration: Jul 5th 2003
Location: Malaga
Occupation: Senior Cloud Solution Engineer bei Oracle
Quoted
Man soll also nicht nur simple einfach die Exceptions abfangen, sondern auch verstehen warum sie geworfen wurden und dem Benutzer des Interpreters Infos dazu ausgeben.
This post has been edited 1 times, last edit by "Cpt. Iglu" (May 24th 2004, 3:25pm)
Quoted
Original von Cpt. Iglu
Quoted
Man soll also nicht nur simple einfach die Exceptions abfangen, sondern auch verstehen warum sie geworfen wurden und dem Benutzer des Interpreters Infos dazu ausgeben.
Man kann mit .getMessage() eine detailliertere Fehlermeldung (sofern möglich) und mit .getClass().getName() den eigentlichen Typ des Ausnahmeobjekts abfragen.
Quoted
Original von metalhen
Quoted
Original von Cpt. Iglu
Quoted
Man soll also nicht nur simple einfach die Exceptions abfangen, sondern auch verstehen warum sie geworfen wurden und dem Benutzer des Interpreters Infos dazu ausgeben.
Man kann mit .getMessage() eine detailliertere Fehlermeldung (sofern möglich) und mit .getClass().getName() den eigentlichen Typ des Ausnahmeobjekts abfragen.
Das ist aber trotzdem wohl anders gewollt? Wie ich schon sagte, soll man auch möglichst etwas vom Interpreter verstehen, der in einem minimalen Maße semantisch/syntaktisch parst. Die Exceptions haben nun aber direkt nichts mit z.B. der Syntax von npBasic nichts zu tun und die Transferleistung für den Studenten ist es die Exceptions abzufangen und zu sagen, wegen welchem z.B. syntaktischer Fehler im np-Programm der Interpreter abbricht. Dies kann ein vergessenes Symbol sein, eine nicht definierte Variable, eine nicht passende Zuweisung, ein Semikolon zuviel, ...
Ein simples Ausgeben der Java-Infos zu den Exceptions wäre auch eine etwas stumpfsinnige Arbeit, spätestens wenn man ab der 2ten Exception nur Copy&Paste des try/catch-Blocks machen würde.
Quoted
Original von Uprooter
naja, ich find das nicht unbedingt gut, dass 1. die aufgabenstellung, und zwar seit der ersten übung, ziemlich ungenau ist und
Quoted
2. der übungsleiter nicht so genau hinguckt. mir sind die übunspunkte ziemlich egal, aber ich will schon wissen, wenn ich n fehler gemacht habe und wie ich ihn korrigieren kann, sonst fall ich durch und die punkte bringen nix. aber bei dem übungsbetrieb am dienstag erwarte ich auch nicht mehr als es jetzt ist, denn diese übungsstunde ist total überfüllt und der leiter kommt einfach nicht hinterher.
This post has been edited 1 times, last edit by "np" (May 26th 2004, 9:06am)
Quoted
Original von Uprooter
für mich persönlich ist das "passend behandelt" etwas schwammig formuliert(ich meine die übung 5), denn eine einfache textausgabe halte ich nicht für eine behanlung, sondern eher "aufmerksammachen" auf einen aufgetretenen fehler. kann ja sein, dass exceptions immer so behandelt werden, aber woher soll ich denn das wissen?
Quoted
Original von Uprooter
1. "Sehen Sie außerdem passende get- und set-Methoden vor und ¨uberlegen Sie,welche Konstruktoren sinnvoll sind." ich habe mir die vorlesung wirklich genau angehört und mir das skript 2-3 mal durchgelesen, ich wusste beim besten willen nciht was genau! von mir erwartet wird. ich finde diese formulierung ungenau.
Quoted
Original von Uprooter
2."Verwenden Sie z.B. die Methode parseDouble der Klasse Double, um ein String-Argument in eine Zahl
umzuwandeln." die korrekte syntax wäre dazu ja Double.praseDouble(args[]), jedoch hat mir persönlich der hinweis "der Klasse Double" nichts gebracht, ich habe parseDouble(args[]) geschrieben und es gab einen fehler, ich hab mir stundenlang den kopf zerbrochen wieso.
Quoted
Original von Uprooter
2.niemand hat ein wort darüber verloren, dass wenn ich einen kontruktor erstelle aut. eine super-anweisung erstellt wird, die keine argumente bekommt, also sucht sie in der basisklasse nach einem leeren konstruktor, den hat man aber nicht erstellt, wozu auch?
Quoted
8.1.4 Vererbung von Konstruktoren
Konstruktorenverkettung
Wenn eine Klasse instanziert wird, garantiert Java, daß ein zur Parametrisierung des new-Operators passender Konstruktor aufgerufen wird. Daneben garantiert der Compiler, daß auch der Konstruktor der Vaterklasse aufgerufen wird. Dieser Aufruf kann entweder explizit oder implizit geschehen.
Falls als erste Anweisung innerhalb eines Konstruktors ein Aufruf der Methode super steht, wird dies als Aufruf des Superklassenkonstruktors interpretiert. super wird wie eine normale Methode verwendet und kann mit oder ohne Parameter aufgerufen werden. Der Aufruf muß natürlich zu einem in der Superklasse definierten Konstruktor passen.
Quoted
Original von Uprooter
in der 3 übung hat man sich dann schon n dickes fell zugelegt und sie ohne probleme gelöst.
This post has been edited 1 times, last edit by "migu" (May 28th 2004, 12:37am)
Erfahrener Schreiberling
Date of registration: Oct 17th 2003
Location: Dresden
Occupation: Um ein bißchen mehr Ahnung zu haben als andere
This post has been edited 1 times, last edit by "Lucky" (May 28th 2004, 3:11am)
Quoted
Original von Lucky
Also ich schließe mich Uprooter an. Wie soll ich als Java Newbie verstehen "sehen sie passende set- und get Methoden vor", wenn Sie einem doch so überflüssig vorkommen! Wenn ich n Programm schreiben soll was 3 Parameter wieder ausspuckt mit rot grün und blau davor, dann brauch ich sicherlich keine 2 Klassen geschweige denn get- und set- Methoden. Sowas sollte man einführen, wenn man den Syntax ein wenig drauf hat und es auch wirklich Sinn macht für eine Aufgabe.
Quoted
Original von Lucky
Wenn ich n Programm schreiben soll was 3 Parameter wieder ausspuckt mit rot grün und blau davor, dann brauch ich sicherlich keine 2 Klassen geschweige denn get- und set- Methoden.
Quoted
Original von Uprooter
2."Verwenden Sie z.B. die Methode parseDouble der Klasse Double, um ein String-Argument in eine Zahl
umzuwandeln." die korrekte syntax wäre dazu ja Double.praseDouble(args[]), jedoch hat mir persönlich der hinweis "der Klasse Double" nichts gebracht, ich habe parseDouble(args[]) geschrieben und es gab einen fehler, ich hab mir stundenlang den kopf zerbrochen wieso.
Quoted
Original von Uprooter
die 5. übung halte ich weiterhin für sinnlos, da man sehr viel zeit braucht, um den interpreter zu durchschaun, weil man die meisten verwendeten methoden noch nie gesehen hat und der programmaufbau nicht gerade übersichtlich ist, für einen anfänger nicht.
dann kann jeder, der den aufbau von einem try-catch-block verstanden hat, die übung mit 10 punkten abgeben, ohne sich gross den kopf über den interpreter zu zerbrechen.
Quoted
* Beachte: Weiterreichen von Exceptions verletzt leicht das Kapselungsprinzip.
* Ausgeworfene Exceptions sollten semantisch auf derselben Ebene wie die erzeugende Methode liegen:
* D.h. ein Benutzer erwartet i.d.R. nicht, dass eine Methode wie initialisieren() eine (low level) IOException erzeugt, wenn der Bezug zu einer Datei nicht offensichtlich oder dokumentiert ist.
* In diesem Fall muss die Exception in eine neue Exception höherer Stufe verpackt werden.
This post has been edited 1 times, last edit by "np" (May 28th 2004, 9:54am)