Diferença entre a sintaxe try-catch para a função
Deparei-me com esta sintaxe recentemente paratry-catch
para a função.
struct A
{
int a;
A (int i) : a(i) // normal syntax
{
try {}
catch(...) {}
}
A () // something different
try : a(0) {}
catch(...) {}
void foo () // normal function
try {}
catch(...) {}
};
Ambossyntax são válidos. Existe alguma diferença técnica entre essas sintaxas além do estilo de codificação? Uma das sintaxes é superior à outra em qualquer aspecto?