Como é que o Eclipse detecta a ocorrência de uma exceção durante o Debug, de uma classe / método antes dela ocorrer?
Estava lendo a Apostila da Caelum “FJ-11 - Java e Orientação a Objetos” e especificamente, gostaria de entender como funciona a funcionalidade descrita na parte sobre Debug:
"A idéia desse tipo de breakpoint é fazer nosso programa entrar em debug quando alguma exceção específica
ocorrer. Quando definirmos essa exceção no Exception Breakpoint e a mesma ocorrer, automaticamente
nosso programa entra em debug na linha que gerou aquela exceção. Por exemplo, vamos alterar o codigo da
classe TestaConta para que a mesma tenha uma NullPointerException:
…
Quando rodarmos o código acima, teremos uma NullPointerException. Pode ser útil nesses casos debugar e
saber onde a exceção está ocorrendo de fato, em qual linha mais especificamente. Para fazermos isso podemos
criar um Exception Breakpoint, que debugará códigos que eventualmente lancem uma NullPointerException, por exemplo.
Basta abrirmos a aba Breakpoints e clicarmos no ícone abaixo:"
Pelo que entendi, o Eclipse fica “monitorando” a execução da VM e quando ocorre (neste caso específico) um NullPointerException (que poderia ser qualquer exceção) ele nos mostra onde está ocorrendo.
Gostaria de entender como isso funciona pois este tipo de comportamento pode ser útil para nós em outras aplicações.
Alguma ideia? Espero ter sido claro quanto à duvida.
Atenciosamente,
Daniel Augusto