Может быть, я что-то упускаю, но где в вашей программе пункт throws ?
Исходный код, как он выглядит сейчас для method (), не содержит предложения throws в заголовке метода, только операторы throw. Ваша цитата из JLS явно ссылается на предложение throws.