Должны ли классы исключений быть частью класса, который может их выбросить, или они существуют на более высоком уровне?
Например:
class Test
{
public:
class FooException: public ExceptionBase { };
void functionThrowingFooException();
};
или
class FooException: public ExceptionBase { };
class Test
{
public:
void functionThrowingFooException();
};
(functionThrowingFooException()
- единственная функция, которая когда-либо выбрасывает FooException
)