G
Gast2
Gast
Hi,
ich implementier hier grad einen Graphen und bin am Überlegen wie man folgende Situation am besten lösen könnte:
Ich habe diese drei Konstruktoren:
Im obersten Kontruktor prüfe ich dann noch ob die Übergebenen Knoten und Kanten gültig sind, z.b. ob kein Knoten doppelt übergeben wird, ob alle Kanten End und Anfangspunkte vorhanden sind, ob sich negativ zyklische Graphen bilden etc.
Ich möchte gerne vermeiden, dass jeder Konstruktor 2 Exceptios "werfen kann". Der zweite Konstruktor würde ohne IllegalEdgeException und der dritte komplette ohne Exceptions auskommen.
Wie kann ich das geschickter machen?
ich implementier hier grad einen Graphen und bin am Überlegen wie man folgende Situation am besten lösen könnte:
Ich habe diese drei Konstruktoren:
Java:
public DirectedGraph(ArrayList<Node> nodes, ArrayList<Edge> edge) throws IllegalNodeException, IllegalEdgeException {
/* check nodes and edges */
}
public DirectedGraph(ArrayList<Node> nodes) throws IllegalNodeException, IllegalEdgeException {
this(nodes, new ArrayList<Edge>());
}
public DirectedGraph() throws IllegalNodeException, IllegalEdgeException {
this(new ArrayList<Node>(), new ArrayList<Edge>());
}
Ich möchte gerne vermeiden, dass jeder Konstruktor 2 Exceptios "werfen kann". Der zweite Konstruktor würde ohne IllegalEdgeException und der dritte komplette ohne Exceptions auskommen.
Wie kann ich das geschickter machen?