求大神指点。。使用PC—lint扫面代码中析构的异常问题。

tarena_1031 2014-03-06 05:04:43
公司代码需要使用PC-lint扫描,其中有一个错误提示和代码如下,
error 1551: (Warning -- Function may throw exception '...' in destructor
iub_mempool::~iub_mempool()
if (m_pstart)
{
delete[] m_pstart;
m_pstart = NULL;
}

if (m_pool)
{
delete[] m_pool;
m_pool = NULL;
}

if (IubLock)
{
delete[] IubLock;
IubLock = NULL;
}
更改为:
iub_mempool::~iub_mempool()
try
{
if (m_pstart)
{
delete[] m_pstart;
m_pstart = NULL;
throw 1;
}

if (m_pool)
{
delete[] m_pool;
m_pool = NULL;
throw 2;
}

if (IubLock)
{
delete[] IubLock;
IubLock = NULL;
throw 3;
}
}
catch (int ex) {}
后提示下面的错误。
error 1559: (Warning -- Uncaught exception '...' may be thrown in destructor '
求各位大神指点啊。。怎么能消除这个警告啊。
...全文
91 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tarena_1031 2014-03-06
  • 打赏
  • 举报
回复
引用 1 楼 buyong 的回复:
非要改的话,在第二种基础上加 try{} catch
哦?怎么加?把第一个try{} catth(){}块 包含进去么?意义是什么?
buyong 2014-03-06
  • 打赏
  • 举报
回复
非要改的话,在第二种基础上加 try{} catch

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧