Tach!
Mit
throw std::Rechenfehler("Division durch null!")
hingegen ist die Sache klar.… solange man
- der deutschen Sprache mächtig ist, [...]
- In deinem Fall werden mindestens 21 Byte und ein Stringvergleich benötigt.
Das ist auch ein wesentlicher Punkt. Wenn man ein Framework hat, das Texte in lokalisierter Form erstellt, dann läuft das Programm nur in einer Region, wenn man auf einen Stringvergleich baut. Der Klassenname hingegen ist immer eindeutig, egal welcher Text erzeugt wurde.
Zudem kann der Text auch unterschiedlich ausfallen, à la "Datei %s nicht gefunden." Und nun mach mal einen Stringvergleich, um die Exception zu fangen. Die FileNotFoundException ist hingegen immer von derselben Klasse, ganz unabhängig vom Dateinamen im Text.
dedlfix.