The answer in the book is correct."Throw" should not be associated with Assertions(Bad practice).Assertions are to help you
test your assumptions and tell you if you are wrong.They return false in such case.If you are trying to "Catch" the error ,as a programmer you have coded wrongly.Therefore "handling" beats the whole point of assertions.