【发布时间】:2009-07-03 21:48:05
【问题描述】:
我正在尝试为嵌入式操作系统实现异常处理,但我不知道如何检测抛出的“异常”的类型(以选择适当的处理程序)。
异常处理的保存和恢复上下文部分已经完成,但我不能有特定的句柄,因为我无法检测到抛出的“异常”的类型。 c++ 的标准 RTTI 实现过于依赖其他库,因此我目前认为它不可用。
考虑到我的目标是嵌入式系统,因此我无法创建太多代码,我可以获得(或制作)的“运行时类型信息”的最小实现是什么?
-- 编辑--
我没有在编译器上工作,它是一个 ia32-g++。
【问题讨论】:
-
您是否正在编写/修改编译器或语言运行时,或者您打算将其放入何处?多一点上下文会很好。
-
如果你的内存有限,你不应该启用RTTI,甚至尝试使用异常。最好考虑另一种方法。
-
如果抛出异常,throw nust 以某种方式对异常类型信息进行了编码,所以我不明白为什么需要一些“替代”方法。正如 jalf 所说,请向我们提供有关您实际尝试做的更多信息。
标签: c++ exception-handling rtti