Разница между синтаксисом try-catch для функции

Недавно я наткнулся на этот синтаксис для try-catch для функции.

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(...) {}
};

Оба синтаксиса допустимы . Есть ли какая-либо техническая разница между этим синтаксисом, кроме стиля кодирования? Один из синтаксисов превосходит другие по какому-либо аспекту?

43
задан Alok Save 18 August 2011 в 17:02
поделиться