【发布时间】:2014-05-10 22:51:53
【问题描述】:
显然我对这个主题的理解出了点问题,但我不知道在哪里。我想要实现的是一个名为CustomException 的自定义异常。我所做的确实可以编译并且可以工作,但我确实认为我以错误的方式使用头文件。所以我做了以下3个文件:
-
main.cpp
#include "exception.h" int main() { try { throw CustomException(); } catch (CustomException ce) { ce.doSomething(); } } -
异常.h
#include <exception> class CustomException : public std::exception { private: char* msg; public: CustomException() {}; void doSomething() {}; }; -
异常.cpp
#include "exception.h" CustomException::CustomException() { } void CustomException::doSomething() { printf("Hello World!"); }
运行后是命令行:
$ g++ main.cpp -o main.o
$ ./main.o
$
但我正在寻找的行为是“Hello World!”打印到命令行。我更习惯于 JAVA,所以也许这就是为什么我对 C++ 有一个粗略的开始。无论如何,我希望你能帮助我,因为我发现的教程彼此不同,对我来说没有意义。
【问题讨论】:
-
任何体面的编译器都会拒绝此代码 - 请参阅 user3553031 的答案
-
@DieterLücking 任何符合标准的编译器都会采用此代码,因为它甚至不知道
exception.cpp是否存在 :-)
标签: c++ exception header-files