o que a instrução throw; faz?

Passo 1

Belezaaa meus bacanos, espero que estejam bem e prontinhos para estudar um pouco hoje. Nesse último capítulo temos algumas questões para realizar. Estamos aqui então para realizar os exercícios de autoavaliação, que são de extrema importância para que você saiba se tem a teoria afiada. Então vamos nessa!!!

Passo 2

O autor explica muito bem na seção 24.5 o que ocorre, temos então que

É possível que um tratador de exceção, ao receber uma exceção, decida que não pode processá-la, ou que pode processá-la apenas parcialmente. Nesses casos, o tratador da exceção pode adiar seu tratamento (ou talvez uma parte dele) para outro tratador de exceção. De qualquer forma, você pode fazer isso indicando a exceção por meio da instrução throw;

Independentemente do fato de um tratador poder ou não processar (mesmo que parcialmente) uma exceção, o tratador pode indicá-la para processamento adicional fora do tratador. O próximo bloco try delimitador detecta a exceção indicada, a qual um tratador de catch listado após esse bloco try delimitador tenta tratar.

Passo 3

Adicionalmente, podemos dizer que o Throw indica a exceção se aparecer em um tratador de catch; caso contrário, a função unexpected é chamada.

Resposta

Ela indica a exceção se aparecer em um tratador de catch; caso contrário, a função unexpected é chamada.