Wenn in Java ein Eingabeargument für eine Methode ungültig ist, können wir eine IllegalArgumentException
(die vom Typ RuntimeException
ist) werfen. In C++ gibt es keine Vorstellung von aktivierten und deaktivierten Ausnahmen. Gibt es im Standard C++ eine ähnliche Ausnahme, mit der eine Laufzeitausnahme angezeigt werden kann? Oder gibt es einen gemeinsamen Stil, nicht im Standard, aber jeder folgt in der Praxis für eine solche Situation?Äquivalent von IllegalArgumentException von Java in C++
Oder sollte ich nur meine eigene benutzerdefinierte Ausnahme erstellen und sie werfen?
Führt dynamic_cast <>() mit einem Referenztyp eine Standardausnahme aus? –
Es tut eine std :: bad_cast Ausnahme. Wenn es mit Referenzen ist. Mit Zeigern wird eine 0 zurückgegeben und der Benutzercode muss den Ergebniswert prüfen. –
Ja, std :: bad_cast. –