Es posible detectar una excepción del tipo lambda?

Aunque es una buena práctica lanzar solo excepciones de tipos derivados destd::exception class, C ++ hace posible lanzar cualquier cosa. Todos los ejemplos a continuación son válidos en C ++:

throw "foo";  // throws an instance of const char*
throw 5;      // throws an instance of int

struct {} anon;
throw anon;   // throws an instance of not-named structure

throw []{};   // throws a lambda!

l último ejemplo es interesante, ya que potencialmente permite pasar algún código para ejecutar en el sitio de captura sin tener que definir una clase o función separad

¿Pero es posible atrapar una lambda (o un cierre)? @catch ([]{} e) No funciona

Respuestas a la pregunta(4)

Su respuesta a la pregunta