gpt4 book ai didi

c++ - SWIG:重用选择性异常处理程序?

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:48 24 4
gpt4 key购买 nike

我正在使用 SWIG 编写 %exception 处理程序。我想使用 2 种不同的处理程序:一种用于特殊情况,另一种用于其他所有情况。有没有办法做到这一点?即,现在,我有这个:

%exception {
//basic error handling
}

%exception foo1 {
//advanced error handling
}
%exception foo2 {
//advanced error handling
}
%exception foo3 {
//advanced error handling
}

但是因为所有 3 个 foo 处理程序都是相同的(它们是同一个类的三个成员,如果有帮助的话),它们最好是相同的代码。它看起来不像 SWIG documentation允许这个。我不认为我可以(或不想)对所有事情都使用高级处理程序,因为它很昂贵并且可能不是线程安全的。我错过了什么吗?

最佳答案

好吧,您始终可以使用 SWIG 宏:

%define %custom_exception
{
//advanced error handling
}
%enddef

然后使用

%exception foo1 %custom_exception
%exception foo2 %custom_exception
%exception foo3 %custom_exception

关于c++ - SWIG:重用选择性异常处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085945/

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