Es función intentar bloquear. Útil solo en c-tor para errores de captura en constructores de clases derivadas. Puede leer más acerca de esta característica en el estándar, por ejemplo n3337 draft par. 15, 15.1.
4 Una función probar-bloque asociados un manejador-Seq con el ctor-inicializador, si está presente, y el compuesto-declaración. Una excepción lanzada durante la ejecución de la instrucción compuesta o, para constructores y destructores , durante la inicialización o destrucción , respectivamente, de los subobjetos de la clase, transfiere el control a un controlador en una función-try-block en el mismo manera como una excepción lanzada durante la ejecución de un control Try-Block de transferencias a otros controladores. [Ejemplo:
int f(int);
class C {
int i;
double d;
public:
C(int, double);
};
C::C(int ii, double id)
try : i(f(ii)), d(id) {
// constructor statements
}
catch (...) {
// handles exceptions thrown from the ctor-initializer
// and from the constructor statements
}
-end ejemplo]
Consulte http://www.drdobbs.com/introduction-to-function-try-blocks/184401297 para obtener una explicación y justificación más exhaustiva. – pmr
wow ... nunca antes visto ... gracias por la respuesta – PermanentGuest
@PermanentGuest esta característica se usa con poca frecuencia, ya que al final de tu bloque catch la excepción se volverá a lanzar, si no lanzas ninguna otra excepción. function-try-block no puede aceptar la excepción. – ForEveR