Ситуации, подобные этой, являются причиной того, что существуют структуры обработки try-catch / exception, поэтому я предлагаю не беспокоиться. Есть много причин, по которым вы можете получить искаженный JSON, который не может быть проанализирован (например, возможно, изменился API бэкэнда, некоторые проблемы с сетью, которые отрезали поток и т. Д.), И ваш клиентский код не может быть обработанвсе это индивидуально. Исключения обобщают эти ситуации и позволяют вам изящно реагировать на них.
У Java есть пресловутая репутация того, что все загружается с исключениями, которые становятся утомительным образцом, поэтому хороший SDK или автор библиотеки найдет способ абстрагировать множественные«низкоуровневые исключения» с меньшим количеством «высокоуровневых» исключений, так что пользователям этого кода не придется обрабатывать все это самостоятельно
Например, вы анализируете объект JSON и давайте предположим,Вы получили это от вызова сетевого API. И из-за этого вашему сетевому коду может потребоваться обработать IOException, URLException и т. Д. Итак, вы можете скрыть весь этот код в некотором классе класса APIService, который обрабатывает все эти исключения внутренне, но только создает пузыриединое «APIException» для тех, кто вызывает код, и передает подробности любой проблемы, возникающей в APIException.
Как автору «APIService», вам все равно придется обрабатывать все эти различные исключения, но кто бы нииспользование вашего кода должно будет обрабатывать только APIException. Это не только скрывает детали реализации (что хорошо), но и тому, кто использует ваш код, придется писать меньше шаблонов (тоже хорошо)