2 Stimmen

versuchen, schlechte Form zu fangen?

Ich glaube, ich kenne die Antwort auf diese Frage, aber es gibt immer viele Möglichkeiten, Dinge zu tun (von denen einige eindeutig falsch sind :) )...

Ich habe eine kleine rekursive Funktion, um eine Mitarbeiter-Manager-ID zu finden. Dies wird in einem Import-Skript verwendet, und es kann sein, dass die Personen unmittelbaren Manager verlassen hat (deaktiviert wurde), so dass wir brauchen, um zu finden, dass Mitarbeiter (der Manager) Manager (und so weiter), so dass wir Sachen zuweisen können. für den Fall, dass es nicht offensichtlich ist, ist die EmployeesToDisable eine generische Liste der Mitarbeiter, die als deaktiviert in diesem Import markiert sind.

Ich schätze, was ich wirklich frage, ist: ist der Overhead mit dem Abfangen einer Ausnahme zu viel von einem Kompromiss in diesem Fall zu machen verbunden. und sollte ich dies anders tun. dies funktioniert gut, aber fühlt sich wie es ist schlechte Form

Ich habe folgenden Code:

private Guid getMyEnabledManagersID(OnlineEmployee e)
    {
     Employee manager;
     try
     {
      //see if Employee e's manager is in the disabled list.
      manager = (from emp in EmployeesToDisable where emp.EmployeeID.Equals(e.ManagerID) select emp).Single();
      //yes they are, so need to call this again 
      return getMyEnabledManagersID(manager);
     }
     catch
     {
      return e.ManagerID;
     }
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X