Stellen Sie sich vor, dass ich eine Hauptklasse habe, die eine HashMap eines anderen Typs von Klasse handhabt, die ich in Dateien speichern möchte, die die Schnittstelle serializable verwenden.Sollte ich Ausnahmen in solchen Fällen verwenden?
Wir können die Hauptklasse nennen die -Manager und die Klassen I in Dateien speichern möchten, können Daten aufgerufen werden.
Nun wird die -Manager Klasse hat eine Methode eine Instanz der Daten Klasse in eine Datei (alle Instanzen Daten in einem HashMap im -Manager Klasse gespeichert sind) zu speichern. Der Name der Instanz wird als der Benutzer eingegeben, so dass sie möglicherweise nicht existiert.
Was soll ich in solchen Fällen tun? Prüfe, ob die Instanz existiert und wenn nicht, gebe ich false zurück oder mache eine Funktion, die void zurückgibt und eine Ausnahme auslöst, wenn die Instanz nicht existiert? Sollte ich Ausnahmen in solchen Fällen verwenden? Werden Ausnahmen einen großen Einfluss auf die Leistung eines Programms haben (da jedes Mal, wenn wir einen werfen, wir ein neues Objekt erstellen müssen ...)?
Danke.
Machen Sie was "HashMap" tut. Geben Sie den alten Wert zurück, der dem Schlüssel zugeordnet ist, oder null, wenn es keinen gibt. Sie brauchen keine Ausnahme. – EJP
@EJP In dieser Situation möchte ich keine Referenz auf irgendein Objekt zurückgeben. Da ich das Objekt im Speicher speichern möchte, gibt die Funktion true zurück, wenn das Objekt erfolgreich gespeichert wurde, oder false, wenn es nicht existierte oder wenn eine IOException aufgetreten ist. –
Sie sollten wahrscheinlich nicht zu viel über die Leistung nachdenken, sondern über die Bedingungen, unter denen Ausnahmen die geeignete Lösung für Design und Implementierung darstellen. Sehen Sie sich die Standard-APIs an, verwenden sie Ausnahmen, wie Sie es beschreiben? Etc. – pvg