Laden...

TryCatch bei Methode mit Rückgabewert

Erstellt von wazer317 vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.006 Views
W
wazer317 Themenstarter:in
95 Beiträge seit 2006
vor 16 Jahren
TryCatch bei Methode mit Rückgabewert

Hallo an Alle,

folgendes Problem (für mich):
Der folgende Code (hier ein vereinfachtes Beispiel) in meinem Program wird von VS "angemeckert" da nicht alle Pfade einen Wert zurückgeben, also der catch-Block.


public ArrayList ParameterArrayList()
        {
            try
            {
                //ArrayList erzeugen
                ArrayList al = new ArrayList();
                //ArrayList mit Werten füllen
                al.Add(Wert1);
                al.Add(Wert2);
                //ArrayList zurückgeben
                return al;
            }
            catch (Exception ex)
            {
                AllgemeineErrrorBehandlung(ex);
            }
        }

Frage1: Warum muß der catch-Block eigentlich einen Wert zurückgeben, ich dachte try/catch funktioniert losgelöst von allen Vorgaben des Codes den es umgibt?
Frage2: Wie kann man das Problem lösen oder ungehen. Möchte auf keine Fall die Fehlerbehandlung weglassen.

Danke!
wazer317

Erst denken dann lenken!

183 Beiträge seit 2004
vor 16 Jahren

Hallo wazer317,

nicht der catch-Block muss was zurückgeben, sondern deine Funktion.

ich dachte try/catch funktioniert losgelöst von allen Vorgaben des Codes den es umgibt Deine Funktion wird aber auch von Code umgeben und dieser erwartet einen Rückgabewert.

Frage 2: Etwas zurückgeben. Selbst null ist da hilfreich.

Ich mach das meistens so:

public ArrayList ParameterArrayList()
{
   //ArrayList erzeugen
   ArrayList al = new ArrayList();
   try
   {
      //ArrayList mit Werten füllen
      al.Add(Wert1);
      al.Add(Wert2);
   }
   catch (Exception ex)
   {
      AllgemeineErrrorBehandlung(ex);
   }
   //ArrayList zurückgeben
   return al;
}

Grüße

So einfach wie möglich, aber nicht einfacher. [Albert Einstein]

take a look at
* baer-torsten.de
* codinghints

W
wazer317 Themenstarter:in
95 Beiträge seit 2006
vor 16 Jahren

Hallo él toro;

Danke für die schnelle Hilfe! Werde es so angehen wie von Dir beschrieben.

Gruß wazer317

Erst denken dann lenken!

V
327 Beiträge seit 2005
vor 16 Jahren

hallo,

warum machst du extra eine Methode für die Fehlerbehandlung?
nutzer doch lieber die fertigen Exceptions...

zumal du in der Methode ja nicht mehr die Art der Exception unterscheiden kannst, weil es alles Exceptions sind...

MFG Veasel

W
wazer317 Themenstarter:in
95 Beiträge seit 2006
vor 16 Jahren

Hallo veasel,

nutze die Methode nur um zentral eine Fehlerprotokolldatei zu erstellen. Über eine mehrstufige Exception-Behandlung habe ich auch schon nachgedacht, aber ist aus meiner Sicht ziemlich aufwendig. Für jedes Objekt die möglichen Exception ausfindig machen und dann dafür jeweils einen catch-Block erstellen...
Oder wie machen es die Profis? Bin für jeden Hinweis dankbar.

Gruß wazer317

Erst denken dann lenken!