我应该在C ++中存储(放置)自己的异常?

时间:2017-09-08 15:41:26

标签: c++ exception

假设我需要创建许多我自己的异常,我将在C++应用程序中使用这些异常。问题是我应该在哪里放置这些例外?我的意思是我可以将它们放在一些头文件中:

#ifndef MYEXCEPTIONS_H
#define MYEXCEPTIONS_H

#include <exception>

class exc1 : public std::exception
{
  virtual const char* what() const throw() {
    return "exc1 was caught!";
  }
};
/*other similar exceptions*/
#endif

然后只需将此文件包含在我想要捕获异常的位置。或者我可以创建命名空间并将它们放在那里。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

  

然后只需将此文件包含在我想要捕获异常的位置。

是。您还需要包含抛出该异常的文件。

  

或者我可以创建命名空间并将它们放在那里。

这里不需要。它更像是:

您可以创建一个特定于您的应用的命名空间,并将异常类放在命名空间中。