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