Я пишу клиентскую библиотеку для ряда наших API, которые будут использоваться сторонними библиотеками.Исключения при запуске и обертке при создании библиотеки?
В этом базовом клиенте http мы используем только команды RuntimeExceptions. Я не хочу, чтобы эти исключения пузырились, но вместо этого оберните их в наш собственный ClientException.
Однако все, что я читаю, похоже, говорит о том, что исключение извлечения времени выполнения - это действительно плохая практика?
Является ли это исключением из правила при написании библиотек, которые будут использоваться третьими лицами?
Это буквально «RuntimeException» или определенный подтип? Если последнее, тогда нет такой * лучшей практики *, которая бы приказала вам не поймать ее. Например, Spring и Hibernate бросают только непроверенные исключения и рекламируют это как * функцию * и лучше всего следовать. –
Да, это подтип, просто исключение. –
«Все, что вы читаете» не всегда ориентировано на вашу конкретную ситуацию (и будьте осторожны, потому что во многих случаях, особенно в Интернете, где каждый может притворяться, что их мнение является достоверным справочным источником, «все, что вы читаете», состоит исключительно из нескольких заявления, основанные на том же корневом недоразумении/дезинформации); сделайте то, что имеет наибольший смысл для вашего сценария, и ведет к самому чистому и самому простому коду (и простому API). Если вы чувствуете, что делаете то, что требует дальнейших объяснений, четко документируйте его. –