Wer bietet mehr: Aufgabe 8.2

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.

Wer bietet mehr: Aufgabe 8.2
hey ne Frage ich bin aktuell bei 10 Exceptions
hat schon jemand ne 11te gefunden (auch wenn nur 10 Methodenrümpfe vorgegeben sind… Die Aufgaben sind ja des öfteren mal etwas fehlerhaft,… ähhh sehr)

bzw wenn ich noch ne 11te finde, darf ich dann einfach ne triggerException11() anlegen, welche auch von EST gecheckt wird?

Alle „Exceptions“ sind vom Typ Throwable, also sollte auch das javaoutofmemory-gedingse was gültiges sein
sonst wären es nur 9 Exceptions

Zu der Frage:

Ja Sie sind alle Different

Und nein, ich habe keine Reflections, Bytecodemanipulation dazu verwendet

Also falls noch jemand ne 11te finden sollte, wäre super wenn ihrs hier reinschreiben würdet… dann würde ich auch anfangen danach zu suchen

lg knotenpunkt


Out of Memory ist ein Error, keine Exception. Ich arbeite ohnehin an einem Beweis, was die maximal mögliche Anzahl Exceptions wäre. Bis jetzt wäre ich bei 11 und ich probiere, das auf 7 zu reduzieren.


Wenn jemand mehr als 10 verschiedene (nach der Definition des Blatts) Throwables triggern kann, darf sie/er das gerne an aud@i2.cs.fau.de schicken. Selbst hinzugefügte, öffentliche Methoden werden im EST natürlich nicht berücksichtigt (und sind auch nicht erlaubt → Blatt 0).


Hey Chayyam

Ich habs deswegen ja auch in „“ geschrieben
Das Out-Of-Memory ist nach Ict und anscheinend auch nach dem Aufgabenblatt (nur einmal durchgelesen) gültig

Und wieso willst du des auf 7 reduzieren???

bzw. hast du die 11 ohne des out-of-memory oder inkl. dem out-of-memory

lg knotenpunkt


Von richtigen Exceptions sehe ich nur 7. Und ich habe keine 11 (bin bei 8), sondern ich versuche, einen Beweis zu finden, der mehr als 7 (richtige) Exceptions nicht zulässt. Außerdem stand im Blatt eig. „Ausnahmen“, aber wenn „Throwables“ gemeint sind, dann gibt es natürlich mehr.


Hey Chayyam

(gibt dann -glaube ich - nur eine mehr)
Ich sags ja:

Naja 9 (inkl des javaoutof… error) sind gut zu finden

und eine 10te, was kein error sondern ne Exception (also von Exception erbt) ist gibts auch noch
die ist aber etwas tricky… die zu finden

lg knotenpunkt


[quote=knotenpunkt]
Ich sags ja:

[quote=knotenpunkt]
Die Aufgaben sind ja des öfteren mal etwas fehlerhaft,… ähhh sehr)
[/quote][/quote]
Es reicht für die volle Punktzahl, alle echten Exceptions zu triggern. Das auch andere Throwables zählen ist ein Entgegenkommen. Aber wenn ihr drauf besteht, nehm ich das wieder raus…


@ knotenpunkt: Alleine an der Stelle mit dem Error habe ich 2 verschiedene Errors und zwar Heap Space und VM Limit.


ok ich hab bis jetzt nur einen vm limit error erzeugt

mit dem anderen wäre ich dann bei 11

Ict könntet ihr eure max Exceptionanzahl in den Vorlagen auf 11 erhöhen, weil wie du ja schon gesagt hast, dass man selber des nicht erweitern darf

Ne lass ruhig mal drinnen bzw. die Frage: Du hast es noch nicht aus dem Gültigkeitsbereich herausgenommen, oder?

Ehm noch ne Frage an dich ICT: Weißt du ob es mehr als 9 „echte“ Exceptions gibt und wenn nein wie werden auf die 9-Exceptions die Punkte verteilt
7/9-tel Punkte auf eine Exception?


Ne hab mich verzählt
hab den heap fehler schon drinnen

hab 8 echte
2 unechte

also doch nur 10


Das ist nur einer. Selbe Zeile, selbe Klasse.

Nein, wenn du 10 (verschiedene!) hast ist das mehr als genug. Die Vorlage zu ändern zieht nur jede Menge organisatorischer Schmerzen nach sich auf die ich gerne verzichten kann.

Wie auch auf dem Blatt steht wird im öffentlichen Test (der den Haken anzeigt) sowieso nur getestet, ob in irgendeiner Methode irgendwas geflogen kommt. Aber ja, da ichs oben gesagt habe, werden weiterhin auch Errors zählen.

Die Anzahl der Methoden reicht aus, um mehr Fehler auszulösen, als ich absichtlich eingebaut habe. Die genaue Anzahl und Verteilung gibts dann in der Korrektur.

Und du darfst meinen Nick auch mal so schreiben, wie er da steht :wink:

1 Like

Aufgabe für Cracks und iCT
icT, da du als Aufgabensteller anscheinend selber nicht so genau weißt, wieviele Exceptions auftreten können

hier mal ne kleine Liste, um dich etwas zu unterstützen:



java.lang.NegativeArraySizeException [1x]
java.lang.NumberFormatException: [1x]
java.lang.ArrayIndexOutOfBoundsException: [2x]
java.lang.NullPointerException [2x]
java.lang.AufgabeMalWiederGrottenSchlechtGestellt [27x] //Äh ups.... falsche Aufgabe... diese Exception fliegt doch bei Aufgabe 8.3
java.lang.ArithmeticException: [1x]
java.lang.OutOfMemoryError: [1 bzw. 2 mal zählt ja aber nur als 1 mal, weils in der gleichen Zeile ist]

SUM [8x]

So und nun die 9te (für Info-Cracks geeignet)

======
Running triggerException9(): Exception triggered:
java.lang.NullPointerException
	at CashRegister.average(CashRegister.java:42) //das ist die Zeile mit sum += prices[i];
	at CashRegisterTest.triggerException9(CashRegisterTest.java:XXXXX)
	at CashRegisterTest.main(CashRegisterTest.java:YYYYYY)
======

Also wie bereits erwähnt… keine Reflections oder Bytecodemanipulation verwendet, obwohl das ja eigentlich durch die Aufgabe nicht ausgeschlossen wird

Also iCt, dass du auch mal ne Herausforderung bekommst… darfste versuchen obige Exception mit den Spielregeln, die du selbst erstellt hast zu lösen
Dann kannste ja mal zeigen, dass du deines AUD/PFP-Team Sitzes würdig bist

Achja keinen formalen Beweis, sondern eine Java-Lösung die in weniger als 1-2 sec die obige Exception schmeißt

lg knotenpunkt

PS: Du brauchst dir jetzt keinen passenden regEx ausdenken…
ich habe den “Schadcode”, der diese Exception auslöst eh noch nicht hochgeladen


plonk

Nimm dich mal nicht zu wichtig, ich hab tatsächlich besseres zu tun als die Realnamen schlechter Trolle rauszusuchen

9 Likes

Ne des vlt. nicht…

Aber schlechte AUD-Teamler haben es nötig Code-Fragmente zu plagiieren


Oh benimm dich


Wer hat wo was wann plagiiert?


5 Likes

Ich glaube, ict ist durchaus kompetent genug, nicht auf die merkbefreite Idee zu kommen, kontextfreie Sprachen mit regulären Ausdrücken zu matchen.

4 Likes

Woher eigentlich der Schwund? (Und herzlichen Glückwunsch, dass du Threads entdeckt hast!)