在查看一些代码时,我发现了这样一段代码:
struct MyFooStructure
{
//Nothing unusual, just basic types
}
class Foo : public QObject
{
Q_Object
public:
void fooMethod(const MyStructure &s);
signals:
void fooSignal(const MyStructure &);
}
void Foo::fooMethod(const MyStructure &s)
{
try
{
emit fooSignal(s)
}
catch(const std::exception &e)
{
qDebug() << "An exception!";
}
}
有没有可能进入这里的渔获?据我所知,没有可能引发异常:emit 只是一个宏,用于创建一个表以调用连接到 *.moc 文件上的该信号的适当函数。真的需要try catch吗?