possível capturar uma exceção do tipo lambd
Embora seja uma boa prática lançar apenas exceções de tipos derivados destd::exception
class, C ++ torna possível lançar qualquer coisa. Todos os exemplos abaixo são válidos em 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!
O último exemplo é interessante, pois potencialmente permite a passagem de algum código para ser executado no site de captura sem precisar definir uma classe ou função separad
Mas é possível pegar uma lambda (ou um fechamento)?catch ([]{} e)
não funciona