Como as exceções funcionam (nos bastidores) em c ++

Continuo vendo as pessoas dizerem que as exceções são lentas, mas nunca vejo nenhuma prova. Portanto, em vez de perguntar se são, perguntarei como as exceções funcionam nos bastidores, para que eu possa decidir quando usá-las e se elas são lentas.

Pelo que sei, as exceções são a mesma coisa que fazer um monte de retorno, mas também verifica quando precisa parar de fazer o retorno. Como ele verifica quando parar? Estou tentando adivinhar e dizendo que existe uma segunda pilha que contém o tipo de exceção e o local da pilha e retorna até chegar lá. Também estou supondo que o único momento em que a pilha é o toque é em um arremesso e a cada tentativa / captura. AFAICT implementando um comportamento semelhante com código de retorno levaria a mesma quantidade de tempo. Mas tudo isso é um palpite, então eu quero saber.

Como as exceções realmente funcionam?

questionAnswers(7)

yourAnswerToTheQuestion