Dies ist wahrscheinlich eine grundlegende Frage, besser durch Code erklärt:Wie man richtig Standardvariablen Werte falsch handhaben sein
public void checkStatus {
int status = UNKNOWN;
if (somecondition) {
status = STATUS_UP;
} elseif (someothercondition) {
status = STATUS_DOWN;
}
}
Das Problem ist also, ich definitionsgemäß nicht alle möglichen Bedingungen wissen, dass die beeinflussen könnten STATUS, und ich wollte nicht, dass der Compiler den Fehler "mein nicht definierbarer" auslöst, indem er die lokale Statusvariable nicht initialisiert.
Unter dem Strich funktioniert meine App nicht mit einem Status auf UNKNOWN gesetzt, ich habe es nur eingestellt, um den Compiler zu halten.
Frage: Wie kann ich das elegant angehen, ich habe überlegt, am Ende der Methode eine fatale Ausnahme zu werfen, sollte der Status trotzdem UNBEKANNT sein, aber das fühlt sich ein bisschen "hässlich" an.
Vielen Dank.
Wenn Ihre App mit dieser Bedingung überhaupt nicht umgehen kann, ist das Werfen von Klängen durchaus vernünftig. – Mat
Wenn Ihre App nicht funktioniert, dann ist es das Beste, den Client durch das Auslösen der entsprechenden Ausnahme zu informieren, anstatt darauf zu warten, dass die Sachen später wieder zerbrechen. – Dan
Sie haben keine Möglichkeit, wenn Ihre Bedingung (en) falsch ist und Sie Werde auch keine 'Exception' werfen, was machst du? Antwort ist: Sie müssen eine von zwei Möglichkeiten wählen. – MJM