gpt4 book ai didi

c++ - GCC comp_except_specs 和异常处理/解析

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:13 26 4
gpt4 key购买 nike

我在这里有点不知所措...我已经开始深入研究 GCC G++ 并尝试在函数抛出未在异常规范中定义的异常时抛出警告/错误,反之亦然(您知道,比如 java)。

我觉得自己走进了一个充满任意宏的全新星球,这些宏接收所有不同类型的树,将它们吐出,但我不知道如何与它们交互......

我找到了 comp_except_specs,它比较两种异常类型并返回它们是否等价;然而,仅传递从 build_throw 返回的异常和从 cp_parser_exception_specification_opt 返回的树会导致内部编译器错误。

如果您已经了解其中的任何内容,那么您对此事的了解可能比我多。我不是在寻找“答案”,虽然这很好,但如果有任何关于此的信息,我们将不胜感激!

编辑:我的目标是改变编译器(不知道为什么我当时没有提到它......)以合并 Java 样式的异常规范错误。我最终确实想出了一个实现它的好方法 - 我想我不记得是怎么回事了,现在太久远了。

最佳答案

我不想让你失望,但据我所知,类 Java 的异常检查在 C++ 中是不可能的,即使作为特定于 GCC 的扩展也是如此。

这是一个疏忽,因为异常是在很晚的阶段没有经过深思熟虑就被附加到语言中的。更糟糕的是,以异常规范的形式添加了一些看起来相似但作用完全不同且通常适得其反的东西。

考虑到那次惨败及其在例如方面的影响类 Java 检查所需的语法,以及 C++ 社区中异常失败和疲劳的普遍感觉,我们可能永远不会在 C++ 中获得适当的异常检查。

关于c++ - GCC comp_except_specs 和异常处理/解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com