Что более соответствует чистому коду.Используя Multicatching или создавая исключение суперкласса и перехватывая его.
Чистый код здесь не очень помогает.Поскольку я не могу придумать какое-либо четкое правило, которое указывает на один из двух вариантов.Таким образом, я думаю, что это сводится к (личному / командному) стилю.
В конце концов, оба подхода имеют свои плюсы и минусы:
Первый более многословен, так как он сообщает точно , какие исключения будут обнаружены.Вы смотрите на это, и вы знаете.
Второй скрывает этот факт, поскольку вы действительно не видите, «сколько» исключений может попасть в эту категорию.Но, конечно, в некоторой степени у вас есть та же проблема с множественным уловом, так как вы также можете перехватить один или несколько основных типов исключений.
С этой точки зрения моя рекомендация будет такой:
- , когда у вас есть несколько различных исключений, затем просто перечислите их (особенно если в настоящее время нетотличный суперкласс, который вы могли бы использовать вместо этого)
- когда никакой конкретной информации о типе не требуется, тогда, конечно, поймайте только одну вещь супертипа