Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Striktheit bei der Korrektur von Hausaufgaben
Darf man bei den Hausaufgaben Fehlerbehandlungen miteinbauen? Zum Beispiel: Ich fühle mich ziemlich mies einen Code zu haben, der nicht erst prüft, ob all seine Eingaben für den Code Sinn ergeben und nicht schon Fehler abfängt, bevor sie tatsächlich auftreten.
Das kann bedeuten, dass vorgegebener Code abgeändert wird, sei es, dass man bei den vorgegebenen Methoden ein “throws Exception” hinzufügt… oder try and catch Blöcke mit angibt.
An sich wird der Code dadurch ja nicht falscher, aber falls es strikte Vorgaben gibt wie: Bestimmte Code Blöcke dürfen nicht geändert werden, dann wäre das natürlich ärgerlich, wenn man durch solche Änderungen Punktabzug bekommt.
Weißt dazu jemand etwas? (Ansonsten würde ich das einfach beim nächsten Übungsblatt ausprobieren und schauen, was passiert und mich hier nochmal mit dem Ergebnis melden)
Man darf nicht nur, demnächst muss man das auch…
ABER: Die Schnittstelle darf trotzdem nicht geändert werden, d.h. wenn eine Exception deklariert werden muss, dann muss sie der Aufrufer (aka EST-Test) sie ebenfalls deklarieren (fangen oder weiterwerfen) - daher wird das zum roten Kreuz und „0 Punkte“ führen!
Daher bitte nur Exceptions werfen, die entweder explizit von der Aufgabenstellung/Vorgabe erwartet werden oder nicht deklariert werden müssen (IllegalArgumentException).
(Off-Topic)
[size=8]Oder einfach checked Exceptions werfen, ohne sie zu deklarieren: http://blog.jooq.org/2012/09/14/throw-checked-exceptions-like-runtime-exceptions-in-java/ (Java ist großartig!)[/size]
Exceptions sind sowieso ein schlechter Mechanismus, Rueckgabewerte wie ‘null’ machen den Kontrollfluss deutlich weniger kaputt. Und in Java braucht man ein moegliches ‘null’ niemals zu deklarieren. Und null-Checks braucht man sowieso.
Und ja, das waere in anderen Sprachen alles viel viel schoener…
- post gelöscht, war nicht hilfreich -