1、遇到异常时,已分配的内存、锁、文件描述符等要释放,可尝试使用auto_ptr,shared_ptr,用对象来管理资源。
2、函数提供强力保证,要么成功,要么回滚。发生异常的函数对程序来说,需提供发生异常时候的回滚机制。“copy and swap”是实现这个机制的简单策略。先对原对象做出一个副本,在副本上做必要的修改。如果出现任何异常,原对象依然能保证不变。如果修改成功,则通过不会抛出异常的swap函数进行交换。
3、不抛异常保证,函数承诺不会抛出任何异常。一般内置类型的所有操作都有不抛异常的保证。
2、函数提供强力保证,要么成功,要么回滚。发生异常的函数对程序来说,需提供发生异常时候的回滚机制。“copy and swap”是实现这个机制的简单策略。先对原对象做出一个副本,在副本上做必要的修改。如果出现任何异常,原对象依然能保证不变。如果修改成功,则通过不会抛出异常的swap函数进行交换。
3、不抛异常保证,函数承诺不会抛出任何异常。一般内置类型的所有操作都有不抛异常的保证。