Olá, Guilherme! Tudo bem?
Primeiro quero te pedir desculpas pela demora em dar uma resposta.
O rethrow
é utilizado para propagar uma exceção para uma camada superior, no exemplo dado pelo instrutor a exceção foi lançada dentro de functionOne
, mas por causa do rethrow
ela foi propagada para o nível da main
, então acredito que a sua definição está sim correta.
Quanto a necessidade de utilizar o rethrow
, talvez realmente não tenha ficado muito clara com o exemplo, mas essa instrução pode ser útil para situações em que tratar a exceção assim que lançada não seja o ideal.
Por exemplo, uma situação onde o nível atual, onde a exceção está sendo lançada, ainda não possui informações o suficiente para você tratar aquele problema. E nesse caso, é interessante o uso do rethrow
para propagá-la a um nível onde seja melhor tratada.
Espero ter ajudado, bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓