可能重复:
使 C++ 程序崩溃的最简单方法是什么?
我经常在我们的代码库中看到一个结构,程序以某种方式进入无效状态,代码会故意做一些错误的事情,只是为了强制崩溃。它通常是这样的:
if(<something is wrong>)
{
int *ptr = NULL;
*ptr = 0;
}
这当然会导致空引用异常并以不可恢复的方式使程序崩溃。我只是想知道这是否真的是最好的方法?首先,它读起来不好。如果没有评论,您可能不会意识到这里发生的崩溃是故意的。其次,几乎没有办法从中恢复。它不会抛出异常,因此无法由其他代码处理。它只是杀死程序而无法回溯。它也没有提供太多关于为什么它必须在这里崩溃的线索。它会在所有构建中崩溃,不像断言。(我们确实有一个非常强大的断言系统可用,但它并不总是在这种情况下使用。)
这是我们到处都在使用的风格,我无法试图说服任何人。我只是好奇这在行业中有多普遍。