【发布时间】:2015-12-17 11:14:30
【问题描述】:
通常发生的情况是当代码面临运行时错误时,它只是以运行时标志终止,我打算做的是在终止之前打印一条自定义消息并且我希望“返回 0”,即在打印自定义消息后正常终止代码为如果运行时从未发生过。
知道怎么做吗?
【问题讨论】:
-
"runtime error" 是什么意思?
-
无论您的代码当前在哪里“使用运行时标志终止[ing]”,添加
std::cerr << "terminating due to error\n"; exit(0);。您还可以像int main(int argc, char* argv[]) try { ... } catch(...) { std::cerr << "terminating due to exception\n"; }那样构建您的main函数。您可能希望为其他类型的错误安装信号处理程序,让它们cerr/exit类似:google "signal handler sigaction C++" for example code。 -
@TonyD :我不明白你说什么,但如果我不知道 RTE 发生在哪里/如何发生,这将不起作用。
-
@BoBTFish :是的,我的意思是当我们除以 0 时触发错误......
-
您不知道哪里以及为什么会出现错误,但您想隐藏它。我有点担心。
标签: c++ c++11 error-handling