На мой взгляд, да, потому что это позволяет вам бросить любое исключение, которое вы хотите.
По мере роста вашей программы вам может потребоваться выдать исключение, отличное от того, о котором вы изначально думали. Если вы определили каждый отдельный тип исключения, вам придется изменить сигнатуру методов и, в свою очередь, изменить все методы, которые вызвали его, чтобы правильно обработать новое исключение.
Простое использование throws Exception позволяет любому методу, вызывающему ваш метод, правильно обрабатывать любые методы, перечисленные вами, но всякий раз, когда вы добавляете новые исключения в вашу функцию, эти другие методы не нарушаются. (Хотя вам, вероятно, следует обновить их для обработки нового исключения, но это не обязательно.)