不允许 C++\CLI 异常规范

发布于 2024-07-24 07:28:33 字数 235 浏览 4 评论 0原文

我是一位经验丰富的非托管 C++ 开发人员,是 C++\CLI 的新手。

为什么托管 C++ 不允许异常规范?

示例 链接

指定的最佳实践是什么那么我的方法会抛出异常吗?

I'm an experienced unmanaged C++ developer, new to C++\CLI.

How come managed C++ doesnt allow exception specification?

Example link

What's the best practice for specifying exceptions my methods throw then?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等风来 2024-07-31 07:28:33

大概是因为 CLR 不使用异常规范; 这大概是因为微软在研究 Java 后认为它们带来的麻烦远远超过了它们的价值。
因此,指定方法抛出哪些异常的最佳实践是不要打扰,即删除异常规范。 值得指出的是,即使在正常的 C++(即本机)世界中,大多数人要么完全避开异常规范,要么仅使用空规范来指示该方法不会抛出异常。

Presumably because the CLR doesn't use exception specifications; this in turn is presumably because Microsoft looked at Java and decided that they are far more trouble than they are worth.
So the best practice for specifying what exceptions your methods throw is to not bother, ie remove your exception specs. It's worth pointing out that even in the normal C++ (ie native) world most people either eschew exception specifications entirely, or only use the empty specification to indicate that the method does not throw.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文