千家信息网

C++无法抛出异常怎么办

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"C++无法抛出异常怎么办",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++无法抛出异常怎么办"吧!E.26:如果无法抛出异常,尽快进行
千家信息网最后更新 2025年12月02日C++无法抛出异常怎么办

本篇内容主要讲解"C++无法抛出异常怎么办",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++无法抛出异常怎么办"吧!

E.26:如果无法抛出异常,尽快进行失败处理

Reason(原因)

If you can't do a good job at recovering, at least you can get out before too much consequential damage is done.

如果你无法很好的从错误中恢复,至少你可以在更多危害发生之前退出。

Note(注意)

如果你不能进行系统化的错误处理,可以将"失败"视为任何无法局部处理的错误的反应。也就是说,如果你无法在检出问题的函数上下文中从错误中恢复,可以调用about函数,quick_exit()函数或者类似的可以触发某种系统重启的函数。

在包含很多任务或者大量计算机的系统中,反正你已经需要预估和处理(包括硬件错误的)致命失败。在这样的情况下,"失败"仅仅是将错误处理转交给系统的下一层。

Example(示例)

void f(int n)
{
// ...
p = static_cast(malloc(n * sizeof(X)));
if (!p) abort(); // abort if memory is exhausted
// ...
}

Most programs cannot handle memory exhaustion gracefully anyway. This is roughly equivalent to

大多数程序都无法满意的处理内存枯竭。这差不多和下面的代码等价:

void f(int n)
{
// ...
p = new X[n]; // throw if memory is exhausted (by default, terminate)
// ...
}

Typically, it is a good idea to log the reason for the "crash" before exiting.

通常,在因为"失败"退出之前记录原因是好想法。

到此,相信大家对"C++无法抛出异常怎么办"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0