Widziałem co najmniej jedno wiarygodne źródło (klasa C ++, którą wybrałem), które zalecają, aby klasy wyjątków specyficzne dla aplikacji w C ++ dziedziczyły z std::exception. Nie mam jasności co do zalet tego podejścia.
W C # powody dziedziczenia z ApplicationExceptionsą jasne: dostajesz garść użytecznych metod, właściwości i konstruktorów i po prostu musisz dodać lub zastąpić to, czego potrzebujesz. Z std::exceptionWydaje się, że wszystko można dostać to what()metoda aby przesłonić, które można równie dobrze tworzyć samemu.
Więc jakie są korzyści z używania std::exceptionjako klasy bazowej dla mojej klasy wyjątków specyficznej dla aplikacji? Czy istnieją dobre powody, aby nie dziedziczyć std::exception?