gpt4 book ai didi

c++ - 使用 Define 抛出异常

转载 作者:太空狗 更新时间:2023-10-29 19:58:14 25 4
gpt4 key购买 nike

<分区>

目前,我正在重构一些由我们前员工编写的旧项目。我遇到过用定义包装抛出异常。

类似的东西:

#define THROWIT(msg) throw common::error(msg)

代码示例:

#define THROW_FD_ERROR( fd, op )\
throw common::error_fd( errno,\
__ERR_FD_API_3\
.arg( fd )\
.arg( op )\
.arg( strerror(errno) ),\
__FILE__,\
__LINE__ )

我可以看到它的一些好处,但它们对我来说并没有那么大,无法以这种方式进行。无论如何,这是一种常见的技术吗?您认为可以从中获得哪些优势?您是否使用定义来抛出异常?如果是,这样做的目的是什么?

UPD:从代码中添加定义

UPD2:感谢大家的回答。我决定去掉所有的宏。为了进行调试,我将使用回溯信息扩展基本错误类,在我看来,这比仅对文件和行使用标准定义要好。

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