Обратите внимание, что эта функция не имеет тела "{" и "}". Просто блок try/catch:
void func( void )
try
{
...
}
catch(...)
{
...
}
Является ли это намеренно частью С++ или это расширение g++?
Есть ли какая-либо цель для этого, кроме обхода 1 уровня {}?
Я никогда не слышал об этом, пока не столкнулся с http://stupefydeveloper.blogspot.com/2008/10/c-function-try-catch-block.html