2014-04-14 73 views
3

因此,创建Exception作为内部类是个好主意吗?我有一种感觉,做错事,但我不知道究竟是什么..创建Exception作为内部类是一个好主意吗? C++

例如:

class A { 

    ...something... 

public: 
    class AException : std::exception { 
    ...something... 
    } 
}; 
+0

你在用什么例外? –

+0

如果你愿意,你可以使用'Exception'。 'A :: Exception'是非常清晰的,并且很可能你想在'A'的方法里面使用。即'A :: AException'有点多余,但要么“工作”。 – WhozCraig

回答

4

这要看情况。

嵌套类就是这样一个嵌套类。这不是,所以内部类没有什么神奇的。

您可以使用“外部类”作为命名空间。如果这增强了可读性,那么有人会赞成它。

一个缺点是,现在的异常类是类的公有接口,

  • 阻止你在一个单独的头
  • 声明异常类可能阻碍包含类的维护工作的一部分(ODR rule

所有其他条件相同,我可能会建议对嵌套的异常类型,由于具有良好的命名好处不应大于潜在的缺点。

相关问题