title: Is there any possibility to throw an exception when emitting a Qt signal?
body: <p>While reviewing some code, I found a piece of code like that:</p>
  
  <pre><code>struct MyFooStructure
  {
    //Nothing unusual, just basic types
  }
  
  class Foo : public QObject
  {
     Q_Object
  
  public:
     void fooMethod(const MyStructure &amp;s);
  
  signals:
     void fooSignal(const MyStructure &amp;);
  }
  
  void Foo::fooMethod(const MyStructure &amp;s)
  {
     try
     {
        emit fooSignal(s)
     }
     catch(const std::exception &amp;e)
     {
        qDebug() &lt;&lt; "An exception!";
     }
  }
  </code></pre>
  
  <p>Is there any possibility to enter on the catch here? As far as I know, there are no possible exception being thrown: <a href="https://stackoverflow.com/questions/1406940/how-signal-and-slots-are-implemented-under-the-hood">emit is just a macro to create a table to call the appropriate functions connected to that signal on the *.moc file</a>. Is that try catch really needed?</p>