Fehlerprotokolle und Ausnahmebehandlung, die häufig im Java-Bereich angezeigt werden

Dies ist beispielsweise keine Ausnahme und kommt nicht in Frage.

Warum nicht?

Zunächst wurde der Mechanismus "Ausnahme" erstellt, um die Beschreibung zu aktivieren. ** "Was soll ich tun, wenn der Prozess aus diesem Grund übersprungen wird?" ** (Ich glaube nicht, dass ich wütend bin). .. Die "Ausnahme", die gesendet wird, ist genau dieser "Grund für dies und das", und selbst wenn gesagt wird, dass ** "die Verarbeitung aus irgendeinem allgemeinen Grund weggeblasen wurde", kann sie nur als "dumm" zurückgegeben werden. Es ist **.

Okay, sollten wir dann jeden Grund so klassifizieren und eine Ausnahmeklasse erstellen?

nicht gut. Natürlich sage ich nicht, dass es völlig nutzlos ist, aber ** ich habe vorher etwas zu tun **.

Entscheidung über die Verantwortung

** Entscheide "wer, wie weit, was zu tun ist". ** ** ** Angenommen, es gibt eine Operation zum "Lesen einer bestimmten Datei, Analysieren und Halten als Objekt". Zu diesem Zeitpunkt (obwohl es ein wenig detailliert ist) erscheinen vier Zeichen als Zeichen: "derjenige, der den Speicherort einer bestimmten Datei übergibt", "derjenige, der eine bestimmte Datei liest", "derjenige, der das Gelesene analysiert" und "derjenige, der sie enthält".

Was und wie viel sollten diese Jungs tun? Im gesunden Menschenverstand muss davon ausgegangen werden, dass "derjenige, der den Speicherort einer Datei übergibt", mindestens "den Speicherort der Datei", "(wahrscheinlich) als Zeichenfolge" und "ohne Verlust" übergeben wird. Es wird____geben. Basierend auf dieser Annahme muss "derjenige, der eine bestimmte Datei liest" nicht darüber nachdenken, "gibt so etwas wie der Speicherort dieser Datei wirklich den Speicherort der Datei an?" Selbst wenn Sie zum Lesen gehen und die Datei nicht haben, können Sie sich dennoch beschweren (= Ausnahme): "Hey, ich habe nach den Informationen gesucht, die Sie mir gegeben haben, nicht wahr?"

Um es cool auszudrücken, es heißt CoC, ** Design by Contract **. Was, "Gibt es keine Ausnahme!"? Worüber redest du ** Ich sage, dass die Ausnahme für die Verwendung gilt, wenn der Vertrag nicht eingehalten wird **.

Nutzung vorhandener Dinge

** Wenn das Argument falsch ist, seien Sie ruhig und lösen Sie eine IllegalArgumentException aus **. das ist alles.

...... Es ist zu chaotisch, also werde ich etwas tiefer graben. Angenommen, Sie bereiten die folgende API vor. Es akzeptiert zwei Argumente und gibt das Ergebnis von a / b zurück. (Es ist nur ein Beispiel, bitte verzeihen Sie mir, dass ich zu viel Ersatz bin.)

ex1.java


public int div(int a, int b){
    return a/b;
}

Es wurde jedoch kritisiert, dass dies nicht gut sei. Dies liegt daran, dass div (1,0) eine ArithmeticException verursacht (es ist möglicherweise besser, den Leuten von .net DivideByZeroException zu sagen, ich bin auch eine DBZE-Sekte ...).

Was würden Sie dann tun? Nun, wir werden eine Validierung haben.

Die Antwort lautet natürlich "** in einigen Fällen **". Dies sollte erstellt werden, wenn die beabsichtigte Verwendung darin besteht, "einzelne Ausnahmen bis zu einem gewissen Grad zusammenzufangen", wie im vorherigen Beispiel. Es ist immer noch unansehnlich, viele Ausnahmen zu erwischen. Wenn Sie dagegen keinen Grund haben, etwas zu machen **, sollten Sie das vorhandene ** verwenden. Es ist nicht schwer. Kurz gesagt, die Neuerfindung von Rädern ist lächerlich, es geht also nur darum anzuhalten.

Zusammenfassung

** Halten Sie den Vertrag und genießen Sie die Codierung! !! ** ** **

Außerdem ** frage ich Sie, also ahmen Sie sich nicht einfach nach, um das Formsystem zu zerstören **. (Obwohl ich denke, dass dies einem Idioten gesagt werden sollte, der Codewerte mit rohen Zahlen behandelt ...)

Recommended Posts

Fehlerprotokolle und Ausnahmebehandlung, die häufig im Java-Bereich angezeigt werden
Fragen in Java-Ausnahmebehandlung werfen und versuchen-fangen
[Ruby / Namespace] Vertiefe ":: ← this", das du oft in Ruby siehst
Grundlagen der Java-Fehlerbehandlung - Die Geschichte, die abfängt, wird nur im Vordergrund aufgegriffen
Ausnahmebehandlungstechniken in Java
Nutzen Sie entweder für die individuelle Ausnahmebehandlung in der Java Stream-API
Es wurde ein Fehler behoben, der beim Versuch auftrat, Spark in einer Umgebung zu verwenden, in der Java 8 und Java 11 gleichzeitig vorhanden sind
Dies und das der Implementierung der zeitlichen Beurteilung von Daten in Java
Finden Sie das Maximum und Minimum der fünf in Java eingegebenen Zahlen
Überprüfung von "seltsamem Java" und Java-Wissen, das in Java Bronze oft vergessen wird
In Bezug auf transiente Modifikatoren und Serialisierung in Java
[Java] Behandlung von Java Beans in der Methodenkette
Empfohlene Website für Fehler, die häufig auftreten
[Java] Der Unterschied zwischen den Methoden Stream.of () und Arrays.stream (), den Sie nicht unerwartet kennen
Java-Ausnahmebehandlung?
[Java] Ausnahmebehandlung
☾ Java / Ausnahmebehandlung
Informationen zur Behandlung von Java-Ausnahmen
Behandlung von Java-Ausnahmen
Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
In der Abbildung verstandene Java-Klassen und -Instanzen
Dies und das zum Bearbeiten von ini in Java. : inieditor-java
[# 2 Java] Welche Objektorientierung hören Sie oft?
[Java Silver] (Ausnahmebehandlung) Informationen zu den Anweisungen try-catch-finally und try-with-resource
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
Syntax- und Ausnahmebedingungen, die beim Vergleich mit null in Java verwendet werden können
Ein Programm (Java), das die Summe von ungeraden und geraden Zahlen in einem Array ausgibt
Rufen Sie Java im Zentrum von Technologiethemen und Elementartechnologien, die Java-Ingenieure 2017 verfolgen sollten.
Ursachen und Abhilfemaßnahmen für die Ausnahme "ServletException: Fehler beim Instanziieren der Servlet-Klasse" beim Bereitstellen von Java-Apps
Filtern Sie die optionale Java No. 2-Liste, die im Geschäftsleben nützlich war, und erhalten Sie den ersten Wert