C++ 问题和错误级别

C++ 问题和错误级别,c++,C++,我正在构建一个GUI应用程序 当有问题发生时,我可以记录问题并将其呈现给用户。如果错误是致命的,那么应用程序将退出并且不显示任何内容。如果它是错误的,那么我只是将问题呈现给用户 我的问题在一些代码中是这样的: char* data = static_cast<char*>(malloc(size)); if (!data) { // What to put for errorlevel? log(ERRORLEVEL, "failed malloc"

我正在构建一个GUI应用程序

当有问题发生时,我可以记录问题并将其呈现给用户。如果错误是致命的,那么应用程序将退出并且不显示任何内容。如果它是错误的,那么我只是将问题呈现给用户

我的问题在一些代码中是这样的:

char* data = static_cast<char*>(malloc(size));
if (!data)
{
    // What to put for errorlevel?
    log(ERRORLEVEL, "failed malloc");
}
char*data=static_cast(malloc(大小));
如果(!数据)
{
//错误级别应该放什么?
日志(ERRORLEVEL,“失败的malloc”);
}
,它是失败的malloc,应该是致命的还是错误的

我不得不在标题中添加0,因为stackoverflow不会让我在标题中出现“错误”。

正如person所说,如果已知你的应用程序使用了大量内存,并且失败的分配是可恢复的,那么继续


否则,如果你的应用程序没有分配很多大的缓冲区,我会使应用程序崩溃。

这取决于上下文。我建议您简单地抛出一个异常。错误是您可以从中恢复并继续安全运行的。致命错误是无法恢复的错误。不,
new
在默认情况下不会为零。有一些真正的groovy单行程序技巧可以将整个文件读入
向量
,而无需提前知道文件大小。对不起,我的错。我以为新的初始化为零@塔德曼:你说得对,我会换成新的。演出也差不多。