Forum: PC-Programmierung C#: Exception schmeissen in


von Kürl (Gast)


Lesenswert?

Hallo,
macht es Sinn, in einem Konstruktor eine Exception abzufangen und diese 
nach oben weiterzuleiten, oder wird das eh automatisch gemacht.
Sowas hab ich neulich gesehen: (C#)
1
public MyClass()
2
{
3
    try
4
    {
5
        Start();
6
    }
7
    catch (Exception e)
8
    {
9
        throw e;
10
    }
11
}

ist das nicht gleichbedeutend mit folgendem?
1
public MyClass()
2
{
3
    Start();
4
}

Kürl

von Dr. Sommer (Gast)


Lesenswert?

Kürl schrieb:
> ist das nicht gleichbedeutend mit folgendem?

Ja! Der Sinn von Exceptions ist es, automatisch weiter geleitet zu 
werden. Dadurch wird Code, der keine Fehler Behandlung macht, 
übersichtlicher weil er auch nix weiterleiten muss bzw. das automatisch 
geschieht.
Exceptions im Konstruktor zu werfen/verarbeiten ist üblich und kein 
Problem. In C++ sollte man nur im De struktor keine werfen.

von Kürl (Gast)


Lesenswert?

Danke schön, Dr. Sommer.

Wie schon vor 15 Jahren hast Du mir auch heute wieder geholfen :)

von Dr. Sommer (Gast)


Lesenswert?

Haha, immer gerne ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.