首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习Rust设计模式5(错误纠正):在析构器中做最终处理

本篇文章是对学习Rust设计模式3-5中最后一部分错误的纠正,纠正后的笔记如下。

1、通常做法:

Rust中,通常在析构函数中运行退出前必须运行的代码。

2、示例:

3、需要注意的问题:

即使程序崩溃,仍然会运行panic函数;但是如果drop函数中存在无线循环或者运行函数退出前崩溃,则不会运行drop函数剩下的部分。示例如下:

上述代码运行如下:

可以看到panic发生后,A的drop函数仍然会运行,但是因为在A的drop函数中也发送了panic,所以第六行的“A exit2”不会打印。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230228A0930S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券