Ich habe bereits nach einer Antwort auf diese Frage gesucht und die folgenden Vorschläge gefunden:
- Wenn Sie immer erwarten, einen Wert zu finden, dann werfen Sie die Ausnahme, wenn er fehlt. Die Ausnahme würde bedeuten, dass es ein Problem gab. Wenn der Wert fehlen oder vorhanden sein kann und beide Werte für die Anwendungslogik gültig sind, geben Sie null zurück.
- Lösen Sie nur dann eine Ausnahme aus, wenn es sich wirklich um einen Fehler handelt. Wenn erwartet wird, dass das Objekt nicht existiert, geben Sie null zurück.
Aber wie soll ich sie in meinem (so beiläufigen) Fall interpretieren: Mein Web-App-Controller erhält eine Anfrage, um Details für einen Benutzer mit einer bestimmten ID anzuzeigen. Controller bittet die Service-Schicht, den Benutzer zu erhalten, und dann der Dienst gibt das Objekt, wenn es gefunden wird. Wenn nicht, wird eine Umleitung zum "Standard"-Standort ausgegeben.
Was sollte ich tun, wenn jemand eine ungültige Benutzerkennung in der Anfrage-URL angibt? Soll ich es als "erwartetes Verhalten" betrachten und null an den Controller zurückgeben, oder soll ich es vielleicht als "Problem oder unerwartetes Verhalten" bezeichnen und damit eine Ausnahme in der Servicemethode auslösen und im Controller abfangen?
Technisch gesehen ist der Unterschied gar nicht so groß, aber ich möchte es richtig machen, indem ich die Standardkonventionen einhalte. Vielen Dank im Voraus für alle Vorschläge.
EDIT: Ich gehe davon aus, dass die von der App generierten URLs gültig und vorhanden sind - wenn der Benutzer darauf klickt, sollte der Benutzer mit einer bestimmten ID gefunden werden. Ich möchte wissen, wie man mit einer Situation umgeht, in der ein Benutzer versucht, eine URL mit einer falschen (nicht vorhandenen) Benutzerkennung aufzurufen, indem er die URL manuell in die Adressleiste des Browsers eingibt.