C ++ - Der richtige Weg, Ausnahmen zu werfen und abzufangen [duplizieren]

8

Werfen Sie Ausnahmen in C ++ mit oder ohne den Operator new ? Weil beide eine Ausnahme auslösen würden.

%Vor%

Obwohl das folgende Beispiel Speicherplatz verlieren würde?

%Vor%

Was ist der richtige Weg, Ausnahmen in C ++ zu werfen?

    
Kevin 03.04.2011, 15:54
quelle

2 Antworten

9

Ich würde Ausnahme auslösen ohne new zu verwenden:

%Vor%

Und würde catch it mit const referenz, wie:

%Vor%

Es vermeidet Kopieren. Es vermeidet new und erspart Ihnen so die Verwendung von delete .

    
Nawaz 03.04.2011, 16:00
quelle
8

Technisch können Sie beides tun.

Aber es ist traditioneller, Objekte zu werfen:
Beachten Sie auch catch by const reference (dies verhindert das Aufteilen der Ausnahme)

%Vor%     
Martin York 03.04.2011 15:59
quelle