Se quello è un "quiz" o qualcosa del genere .... allora sì certo, è fatto per confondere!
Non capisco perché dovrebbe essere contraddittorio. Una eccezione tecnicamente "unchecked" può essere lanciata in qualunque punto senza dover anticipare/dichiarare alcunché, indipendentemente dalle eccezioni "checked" eventualmente dichiarate con throws.
throw lancia solo una eccezione. Può essere catturata già nel metodo (dove viene lanciata) oppure può uscire fuori dal metodo. Se è checked, per poter uscire fuori dal metodo DEVE essere dichiarata (esattamente quella eccezione oppure un supertipo).
Tutto qui.
Forse devi ancora chiarirti le idee ....
Qui ovviamente ok, viene lanciato un AssertionError e più a monte c'è un catch proprio di AssertionError. Quindi è effettivamente catturata.




Rispondi quotando
