Nicht erreichbarer Code: Fehler oder Warnung?

Dies ist eine Sprache, die design-Frage:

Denkst du unreachable code (in Programmiersprachen allgemein) erhöhen sollten eine Warnung (d.h. "report problem und kompilieren sowieso") oder eine Fehler ("verweigern zu kompilieren")?

Persönlich ich stark der Meinung, es sollte ein Fehler: wenn der Programmierer schreibt ein Stück code, es sollte immer mit der Absicht, tatsächlich läuft es in einige Szenario. Aber der C# - compiler zum Beispiel scheint mit dieser Meinung sind und nur meldet eine Warnung.

Anmerkung: ich merke mir gut die dead code detection ist ein sehr schwieriges problem, aber das ist nicht Thema dieser Frage.

Hier sind einige Beispiele von code-Stücken, wo einige Aussagen sind eindeutig nicht erreichbar:

return;
foo();

--

throw new Exception();
foo();

--

if (...) {
  return;
} else {
  throw new Exception();
}
foo();

InformationsquelleAutor der Frage Martijn | 2010-02-17

Schreibe einen Kommentar