Wir alle wissen, dass Hinweise auf Ausnahme werfen schlecht:Pointer-to-Exception Clean-Up
try
{
...
throw new MyExceptionClass();
}
catch (MyExceptionClass* e)
{
...
}
Was ist Ihr Ansatz, um die Fang Ziele nach oben in Legacy-Code zu reinigen? Ich vermute, dass ich den ersten Teil beheben durch operator new
privat machen:
class MyExceptionClass
{
public:
...
private:
void* operator new(size_t);
}
Wie kann ich die Klinke Seite der Dinge machen ebenso hässlich zur Compile-Zeit? Ich will nicht, dass dies in das catch (...)
Territorium fällt.
Wie viel des Codes/darf/darf man ändern? Idealerweise würden Sie den Wurfcode und den Fangcode ändern und damit fertig sein. Aber natürlich ist es nicht so einfach. –
Hier geht es teilweise darum, die Orte zu finden, an denen wir die Änderungen vornehmen; Wenn wir anfangen, daran zu arbeiten, haben wir 100% Kontrolle darüber, welchen Code wir ändern können. –