Einleitung, der Zweck dieses Dokuments
- Der Ablauf besteht darin, catch (Ausnahme e) {} auszurotten und das folgende Gedicht zu schreiben.
- Ich habe es als Ausnahme geschrieben, aber was ist ein Fehler? Wie soll ich damit umgehen? Erwägen
- Ich möchte dem Programmierer sagen: "Es ist besser, die Ausnahme nicht zum Schweigen zu bringen."
- Ich möchte dem Designer sagen: "Wir sollten entwerfen, um zu entscheiden, wie mit extrem seltenen Ausnahmen umgegangen wird."
Verhalten eines Programmierers
―― "Ah, es ist eine Ausnahme. Es kommt nicht vor, also bin ich mir nicht sicher, also kannst du es einfach töten. Catch (Ausnahme e) {} ist OK."
»Das ist das Schlimmste.
Lassen Sie uns unsere Position ändern und darüber nachdenken.
- Die Wurf-Ausnahmeseite wirft, weil eine abnormale Situation aufgetreten ist (auch wenn dies sehr selten ist).
Was passiert, wenn Sie die Ausnahme zum Schweigen bringen?
- Auch wenn eine Ausnahme auftritt, funktioniert sie normal weiter, als wäre nichts passiert.
»Es ist beängstigend, aber die Eltern ignorieren es immer wieder, obwohl sie sagen:" Mein Kind hat Kopfschmerzen! "
――Ist es später nicht irreparabel? Bereust du es?
Warum beendet der Programmierer (Benutzer) die Ausnahme stillschweigend?
――Ausnahmen, die vom Design behandelt werden, werden ordnungsgemäß behandelt, nicht wahr? (Wiederholung des Kommunikationsfehlers)
――Das Problem besteht darin, wie mit Ausnahmen umgegangen wird, die nicht vom Entwurf entschieden werden. Daher wählt der Programmierer "Die Behandlung wurde nicht entschieden -> Stilles Töten ist in Ordnung".
Was sollen wir also mit unentschlossenen Ausnahmen tun?
――Lass uns "Ausnahme, die nicht entschieden wurde, → fangen und werfen wie es ist" behandeln.
――Das ist die richtige Antwort.
Für diejenigen, die sich gefragt haben: "Was? Kann ich eine Ausnahme auslösen, die ich nicht verstehe?"
――In erster Linie sind Ausnahmen, die nicht vom Design behandelt werden, äußerst seltene Ausnahmen. (Es gibt kein Design, da es praktisch unmöglich ist, es aufzutreten.)
»Also passiert es fast nie. Unabhängig davon, ob Sie still töten oder werfen, wird der Code nicht tatsächlich ausgeführt. In diesem Sinne ist er derselbe, egal welchen Sie wählen.
――Aber wenn Sie sich für eines entscheiden, ist Werfen besser als stilles Töten, wenn Sie an * wenn es passiert * denken. (Wenn es jedoch wirklich passiert, wird es der stärkste Verbündete sein)
Für diejenigen, die dachten: "Es ist eine sehr seltene Ausnahme, und wenn es fast nie passiert, können Sie es stillschweigend töten."
――Ich denke, dass es jetzt fast nie auftreten wird, aber wenn es in die Betriebsphase eintritt, tritt es plötzlich auf.
- Es gibt eine Grenze für die Reichweite (Designfähigkeit), die sich Menschen vorstellen können. Die Realität geht leicht darüber hinaus.
――Wenn Sie lautlos töten, wenn die Realität übersteigt, können Sie nicht aus Ihren Händen oder Beinen herauskommen. Es gibt viele Dinge, die Sie in der Entwicklungsphase tun können, aber Sie werden in der Betriebsphase sterben.
Für diejenigen, die dachten: "Nein, wissen Sie, was es bedeutet, eine Ausnahme auszulösen? Das System wird anhalten? Ich habe nicht den Mut, so etwas Unheimliches zu schreiben."
- Ich verstehe deine Gefühle. Es tut uns leid. Schreibe die Wahrheit.
―― Tatsächlich ist dieses Problem schlecht ausgelegt. Warum?
――Das liegt daran, dass wir nicht entwickelt haben, wie mit extrem seltenen Ausnahmen umzugehen ist. Also lasst uns entwerfen.
Für diejenigen, die sich gefragt haben: "Nein, wie gestaltet man eine super seltene Ausnahme?"
――Zum Beispiel: "Eine super seltene Ausnahme wird in der Spitzenklasse abgefangen, als FEHLER protokolliert und das System wird fortgesetzt."
――Siehe, du kannst mit Sicherheit super seltene Ausnahmen werfen.
Für diejenigen, die dachten: "Nein, obwohl eine sehr seltene Ausnahme aufgetreten ist, ist es ein Problem mit einem so schlampigen Design, Protokolle zu spucken und das System fortzusetzen."
- Es tut uns leid. Ich weiß nicht, wie ich mich von einer super seltenen Ausnahme (verursacht durch eine nicht identifizierte Ursache) richtig erholen kann.
――In erster Linie ist dies ein sehr seltener Fall. Bitte haben Sie etwas Geduld mit der Protokollausgabe.
Für diejenigen, die dachten: "Nein, selbst mit äußerst seltenen Ausnahmen kann die Ursache verstanden werden? Das ist ein Problem, wenn Sie es nicht richtig entwerfen."
»Es ist super selten, nicht wahr? Es kommt normalerweise nicht vor, oder? Entwirfst du wirklich?
――Sie können es nicht einfach entwerfen, oder? Es wird die Anzahl der Arbeitskräfte für Montage, Test und Betrieb erhöhen, oder?
――Es ist nicht kosteneffektiv, oder? Bist du bereit es zu ertragen?
»Also, machst du das wirklich?