Oi pessoal, boa noite, tudo bem? Sobre OverflowException e UnderflowException…
O que tá acontecendo nesse código? (abaixo das perguntas)
Caso a pilha já esteja cheia, uma exceção de overflow é lançada (linha 30). Caso a pilha não esteja cheia, o atributo top é incrementado e o objeto é inserido na pilha (linha 28).
Ok, mas pq é lançada essa exceção?
Caso a pilha esteja vazia (linha 34), uma exceção de underflow é lançada. Caso a pilha não esteja vazia, uma referência ao objeto do topo da pilha é armazenada na variável local o, o valor null é atribuído à posição do vetor na qual encontra-se o topo, o atributo top é decrementado e a referência ao elemento que estava no topo é retornada.
Novamente ok mas… pq essa exceção?
Além disso, alguma recomendação sobre como e onde estudar exceções?
Obrigado! 
