何时使用exit()相对于c ++中的异常?

问题描述 投票:0回答:1

我正在编写一个程序,其中取决于输入值,代码将终止。这使我想到了一般实施此方法的最佳方法。我可以很容易地举两个例子:

if (bad_value) {
    clean_up();
    exit();
}

和类似的东西

try
    myFunc();
catch myException {
    clean_up();
    exit();
}

int myFunc() {
    if (badValue) throw myException;
    ...
}

第一个代码块似乎更干净,所以我想知道为什么您要使用异常?我想这确实是cc++的较量。

c++ exception error-handling
1个回答
0
投票

如果您正在编写应用程序代码,则调用exit()很好,但是如果您正在编写库代码,那就不好了,因为exit()会在库代码失败不是那么重要时强制整个应用程序终止并且该应用程序宁愿继续。

注意,您应该调用exit(EXIT_FAILURE)来告诉调用过程您的程序失败。如果抛出异常但不捕获它,那也就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.