Exceptions bei Computergames
-
Original erstellt von ChaosAngel:
**
Auch im Gameloop kann man ohne Probleme Exceptions benutzen !!!**Klar. Aber nur in wirklichen Ausnahmesituationen. Sonst sind Exceptions fehl am Platze.
Es sollte z.B. keine Exception ausgelöst werden, wenn jemand von einer Waffe getroffen wird oder wenn ein Gegner stirbt. Das ist keine Ausnahme.
Auch ein Tor oder Portal zu einem neuen Level sollte nicht unbedingt eine Exception auslösen.Exceptions sollten im normalen Programmverlauf nicht geworfen werden, außer wenn etwas wirklich ernstes passiert, das eine (tiefliegende) Funktion beim besten Willen nicht selbst beheben kann.
-
Es sollte z.B. keine Exception ausgelöst werden, wenn jemand von einer Waffe getroffen wird oder wenn ein Gegner stirbt. Das ist keine Ausnahme.
Ganz meine Meinung, ich sehe nur leider viel zu oft Code, der Exceptions
als augemotzes Mittel zu retrun-Wertübergabe benutzt.
Nach dem Moto, was die Funktion sagen will, steht in der Exception die sie
auswirft.
-
Don't use exceptions for flow control. (...) It violates the PrincipleOfLeastAstonishment. This makes it harder for programmers to read. Perhaps more important, it's not what compiler implementors expect. They expect exceptions to be set up often but thrown rarely, and they usually let the throw code be quite inefficient.
-
Was spricht eigentlich dagegen, keine Exceptions zu benutzen?
-
Original erstellt von TGGC:
Was spricht eigentlich dagegen, keine Exceptions zu benutzen?a) speed (wenn exceptions gut implemetiert sind)
b) klarheit (wenn progger gut coden kann)
c) codegröße (nicht mehr 50% des c-codes für fehlerweiterreichung)
d) ihr müßt es gar nicht raffen. macht weiterhin betriebssysteme in c und games in c, denn das ist üblich so. schnelle oberflächen am besten in java.
-
Was spricht eigentlich dagegen, keine Exceptions zu benutzen?
kotzen zu müssen bei Fehlerhandling.. Rückgabewerte werden doch eigentlich vergewaltigt wenn man sie als Error-Code verwendet
denn das ist üblich so.
guter Grund.. wenn's wo üblich ist , ne Klippe runterzuspringen, sollte man es dann auch machen?
-
Bei integer werten muss ich jedesmal überprüfen, wie der Wert denn grade ist: Abreit, egal, ob ein Fehler auftritt oder nicht.
Bei exceptons passiert erst dann was, wenn ein Fehler geworfen wird: Nur arbeit, wenn ein Fehler auftritt. Und dann ist es eh egal.
-
Na, da ich die Probleme a bis c nicht hab...
-
Moment. Du programmierst Spiele und bei dirist Geschwindigkeit kein problem. Schreibst du rundenbasiertes Zeug?
Mehr klarheit im Code ist immer von Vorteil, auch wenn man vorher bereits recht sauberen Code hat.
Und bei dir gibts keine Fehlerbehandlung?
-
Original erstellt von Helium:
Moment. Du programmierst Spiele und bei dirist Geschwindigkeit kein problem. Schreibst du rundenbasiertes Zeug?Nein, aber die Geschwindigkeit ist nich dadurch begrenzt, wie schnell Fehler behandelt werden.
Original erstellt von Helium:
Mehr klarheit im Code ist immer von Vorteil, auch wenn man vorher bereits recht sauberen Code hat.Der Vorteil ist das ich meine nicht vorhandenen Probleme reduziere?
Original erstellt von Helium:
Und bei dir gibts keine Fehlerbehandlung?Hab ich nie behauptet.