Can C++ functions marked as Extern "C" throw?
<p>I've got C++ functions that I want to declare using extern "C" even though they are only called in C++ code.  Yes, I know this is strange but it's something I would like to do for consistency since we have mixed C and C++ declarations.  I just want to make sure that declaring a C++ function as extern "C" won't affect the behavior of throwing.</p>

<p>It would look something like this:</p>

<pre><code>extern "C" void foo() {throw exception;}

int bar()
{
    try
    {
        foo();
    } catch (exception e) { return 1; }
}
</code></pre>
