Beenden Sie Ihre Ausnahmemeldungen mit einem Punkt? [geschlossen]

72

Ich habe beide Ausnahmemeldungen mit und ohne Punkt gesehen. Und ich kann mir einige Gründe vorstellen, warum beide gut sein könnten.

  • Kein Punkt würde Ihnen die Freiheit geben, den Punkt hinzuzufügen oder wegzulassen, wenn Sie möchten. Könnte nützlich sein, wenn die Nachricht in einer Art Titelleiste oder so etwas angezeigt wird.
  • Mit einem Punkt würden Sie immer wissen, dass Sie einen "vollständigen Satz" hatten und dieser sieht fertiger aus.

Welches empfehlen Sie?

Könnte auch ein Problem bei lokalisierten Ressourcenzeichenfolgen sein. Offensichtlich können Sie nach allem keinen Punkt setzen (würde mit Punkten nach Text auf Schaltflächen und Menüelementen usw. seltsam aussehen). Aber sollten Sie dann den Zeitraum von allem weglassen, um konsistent zu sein, und ihn später hinzufügen, wo dies nützlich ist? Oder möchten Sie lieber einen Zeitraum festlegen, in dem dies angemessen erscheint? Zum Beispiel nach allen Ressourcenzeichenfolgen und Ausnahmemeldungen, die Sätze sind, aber nicht nach denen, die Wörter sind. Aber wie wäre es dann mit sehr kurzen Sätzen? Zum Beispiel "Neue Datei erstellen". Könnte vielleicht Punkte für Zeichenfolgen weglassen, die ebenfalls als Aktionen angesehen wurden ... (Ich denke nur, während ich hier tippe ...)

Nicht das Wichtigste auf der Welt, ich weiß, aber kleine Dinge wie diese, die mich nach einer Weile nerven. Ich mag Beständigkeit und zu wissen, warum ich das tue, was ich tue. Das Problem ist, ich bin mir nicht sicher, für welches ich mich entscheiden soll: p

Svish
quelle

Antworten:

58

Ja, ich behandle die Ausnahmemeldungen normalerweise als vollständige Sätze und beende sie mit einem Punkt.

Die Nachricht in der Ausnahme ist jedoch für den Entwickler und nicht für den Endbenutzer bestimmt . Es kann durchaus sein, dass dieselbe zugrunde liegende Ausnahme je nach Kontext, in dem die Auslösemethode aufgerufen wurde, zu zwei unterschiedlichen Nachrichten für den Endbenutzer führen sollte.

Sie sollten dem Benutzer wirklich weniger technische, benutzerfreundlichere Nachrichten anzeigen.

Fredrik Mörk
quelle
56

Frage: Beenden Sie Ihre Ausnahmemeldungen mit einem Punkt?

Aus Best Practices für Ausnahmen auf MSDN im Abschnitt "Erstellen und Auslösen von Ausnahmen":

  • Verwenden Sie grammatikalisch korrekte Fehlermeldungen, einschließlich der Beendigung der Interpunktion . Jeder Satz in einer Beschreibungszeichenfolge einer Ausnahme sollte mit einem Punkt enden. Beispiel: "Die Protokolltabelle ist übergelaufen." wäre eine geeignete Beschreibungszeichenfolge.

In Bezug auf mögliche Rückmeldungen an den Benutzer über die Benutzeroberfläche der Anwendung lautet die Frage:

... Könnte auch ein Problem bei lokalisierten Ressourcenzeichenfolgen sein.

In dem oben genannten MSDN-Artikel heißt es außerdem:

  • Fügen Sie jeder Ausnahme eine lokalisierte Beschreibungszeichenfolge hinzu. Die Fehlermeldung, die der Benutzer sieht, wird aus der Beschreibungszeichenfolge der ausgelösten Ausnahme und nicht aus der Ausnahmeklasse abgeleitet.

Außerdem aus der Exception.Message-Eigenschaft am Anfang des Abschnitts "Bemerkungen":

Fehlermeldungen richten sich an den Entwickler, der die Ausnahme behandelt. Der Text der Message-Eigenschaft sollte den Fehler vollständig beschreiben und nach Möglichkeit auch erläutern, wie der Fehler behoben werden kann. Ausnahmebehandlungsroutinen der obersten Ebene können die Nachricht Endbenutzern anzeigen. Stellen Sie daher sicher, dass sie grammatikalisch korrekt ist und dass jeder Satz der Nachricht mit einem Punkt endet. Verwenden Sie keine Fragezeichen oder Ausrufezeichen. Wenn Ihre Anwendung lokalisierte Ausnahmemeldungen verwendet, sollten Sie sicherstellen, dass diese korrekt übersetzt werden.


.NET Framework 4.6 und 4.5

DavidRR
quelle
9

Ausnahmemeldungen im Framework werden mit Punkten abgeschlossen. Ich neige dazu, dasselbe aus diesem Grund zu tun.
Wählen Sie auf jeden Fall einen Stil und versuchen Sie, sich daran zu halten ...

Paolo Tedesco
quelle
6

Ich verwende in meinen Ausnahmebeschreibungen immer Punkte. Die einfache Tatsache ist, dass Sätze, die richtig interpunktiert sind, leichter zu lesen sind und professioneller aussehen, was für die wahrgenommene Qualität wichtig ist - finden Sie nicht?

Vergleichen Sie es mit:

Ich verwende in meinen Ausnahmebeschreibungen immer Punkte. Die einfache Tatsache ist, dass Sätze, die richtig interpunktiert sind, leichter zu lesen sind und professioneller aussehen, was für die wahrgenommene Qualität wichtig ist, denken Sie nicht

Peter Mortensen
quelle
3
Ich denke, wenn Sie Ihren Endbenutzern keine Ausnahmemeldungen anzeigen, wird die wahrgenommene Qualität noch höher.
Anders Sandvig
2
@Anders - hängt davon ab, wie Sie es zeigen. Wenn es abgefangen und dem Benutzer korrekt präsentiert wird, können Ausnahmen sehr professionell aussehen. Nicht gefangen? Nun, das ist nur ein Absturz!
Dave Markle
4

Ausnahmemeldungen sind Teil der Entwickleroberfläche Ihrer Anwendung. Schnittstellen werden im Allgemeinen so konzipiert, dass der Benutzer eine bestimmte Aufgabe ausführen kann. Im Falle einer Ausnahme sollte die bereitgestellte Schnittstelle so gestaltet sein, dass Informationen über einen Fehler übermittelt werden, der in der Anwendung aufgetreten ist.

Wenn Sie sich entscheiden, eine Ausnahme auszulösen und eine Zeile wie zu schreiben

throw new ArgumentException("The string must contain at least one character.");

Dann haben Sie bereits eine Reihe von Entscheidungen über die Schnittstelle getroffen, darunter:

  • Ausnahmetyp
  • Fehlende lokalisierte Ausnahmemeldungen (die Verwendung einer fest codierten Zeichenfolge impliziert dies normalerweise)
  • Diese Ausnahme ist nicht das Ergebnis einer anderen Bedingung (keine innere Ausnahme)

Denken Sie daran, dass die Entwicklerschnittstelle für Entwickler und die Benutzeroberfläche für den Benutzer vorhanden ist. Ersteres stellt ganz andere Anforderungen als Letzteres. Was für das eine gut ist, ist möglicherweise nicht für das andere gut. Daher sollte ein Punkt in der Ausnahmemeldung angezeigt werden betrifft die Benutzeroberfläche nicht, da sie für den Endbenutzer nicht sichtbar sein sollte.

Die Verwendung eines Zeitraums ist in den meisten Fällen keine wichtige Entscheidung. Sie sollten jedoch prüfen, ob sein Vorhandensein (oder dessen Fehlen) für die Schnittstelle vorteilhaft oder schädlich ist, indem Sie bereits angesprochene Punkte berücksichtigen, einschließlich der Konsistenz des Frameworks und der Lokalisierung.

Ich weiß, dass dieser Beitrag ein wenig wortreich und möglicherweise ein wenig astronautisch ist , aber ich hoffe, er ist hilfreich für Sie.

Crippledsmurf
quelle
0

Verwenden Sie Ihr bestes Urteilsvermögen. Ich benutze manchmal auch Ausrufezeichen. :-)

Chikak
quelle
Das ärgert mich wirklich, wenn ich sehe, dass Entwickler das tun. Ausrufezeichen sollten nur verwendet werden, um Emotionen zu kennzeichnen. Wenn Sie keine ziemlich kichernde, niedliche, freundliche App haben, würde ich sie nicht verwenden.
Live-Liebe