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