Parantatatam
mag Cookies & Kekse
Hallo Tutorianer!
Ich stehe gerade mal wieder vor einer meiner Lieblingsgrundsatzmonologe: sollte man Exceptions quasi überall nutzen oder reicht auch manchmal nur ein return false oder sollte man sogar versuchen die Daten versuchen so gut wie möglich zu verwerten?
Um es mal an einem praktischen Beispiel zu verdeutlichen: ich bastle gerade mal wieder etwas an dem ActiveRecord-Entwurfsmuster und da gibt es sogenannte Finder, also Selektoren. Man kann unteranderem komplette WHERE-Klauseln angeben, aber auch einzelne IDs oder WHERE-Klauseln auf Basis von Arrays oder folgende Selektoren: first, last, all.
Wenn nun aber der Nutzer aus irgendwelchen Gründen einmal first und einmal all in der gleichen Abfrage verwendet, sollte ich dem Nutzer dann lieber false ausgeben, seine zweite Angabe ignorieren oder ihm doch gleich eine InvalidArgument-Exception raushauen? Wie löst ihr das? Bin ich vielleicht einfach zu zögerlich, was den Einsatz von Exceptions betrifft? Weil letztendlich wäre es für mich einfacher, wenn ich an so einem Punkt einfach abbrechen würde (Exception). Außerdem würde das auch die Performance steigern, wenn ich nicht jedes Deppen Fehler ausbessere.
Ich stehe gerade mal wieder vor einer meiner Lieblingsgrundsatzmonologe: sollte man Exceptions quasi überall nutzen oder reicht auch manchmal nur ein return false oder sollte man sogar versuchen die Daten versuchen so gut wie möglich zu verwerten?
Um es mal an einem praktischen Beispiel zu verdeutlichen: ich bastle gerade mal wieder etwas an dem ActiveRecord-Entwurfsmuster und da gibt es sogenannte Finder, also Selektoren. Man kann unteranderem komplette WHERE-Klauseln angeben, aber auch einzelne IDs oder WHERE-Klauseln auf Basis von Arrays oder folgende Selektoren: first, last, all.
Wenn nun aber der Nutzer aus irgendwelchen Gründen einmal first und einmal all in der gleichen Abfrage verwendet, sollte ich dem Nutzer dann lieber false ausgeben, seine zweite Angabe ignorieren oder ihm doch gleich eine InvalidArgument-Exception raushauen? Wie löst ihr das? Bin ich vielleicht einfach zu zögerlich, was den Einsatz von Exceptions betrifft? Weil letztendlich wäre es für mich einfacher, wenn ich an so einem Punkt einfach abbrechen würde (Exception). Außerdem würde das auch die Performance steigern, wenn ich nicht jedes Deppen Fehler ausbessere.