adicionado lançamento de exceções e comentários