不要在C++析构函数中抛出异常

2019-05-27  本文已影响0人  b036101467d7

析构函数中抛出异常,通常处理方式有两种:

  1. abort()结束程序运行
  2. catch并吞下该异常
    上述两种都不是最佳处理,应给调用方提供处理异常的机会。通常另定义一个函数,在析构之前调用之前在析构时调用的可能抛出异常的方法。如果用户没有调用这个函数,则析构中也应调用,析构中抛异常的话则使用上述两种方法处理。
上一篇 下一篇

猜你喜欢

热点阅读