Требуется ли эта сторонняя библиотека для запуска вашей программы или она просто добавляет немного дополнительной функциональности, которая, хоть и хороша, не требуется? Кроме того, вполне вероятно, что оборудование выйдет из строя. Наконец, сколько типов исключений может выдать вам аппаратное обеспечение?
Если библиотека на самом деле не нужна для запуска вашей программы, вам, безусловно, нужно отловить исключение в какой-то момент, но вы можете захотеть сделать это выше.
Если оборудование может выдавать несколько типов исключений, более вероятно, что вы захотите сбросить исключение, так как простой возврат значения приведет к потере части информации. Тем не менее, вы сказали, что клиенту все равно , почему он потерпел неудачу, просто он это сделал, так что это не должно быть проблемой.
Наконец, если аппаратный сбой является обычным явлением, вы, скорее всего, захотите вернуть код ошибки (или false в этом случае), чем если бы сбой был обычным делом.
Я думаю, что в вашем случае это действительно сводится к первому вопросу. Если вам действительно не нужна эта библиотека, верните false и убедитесь, что она очень четко задокументирована, что операция может завершиться неудачей по совершенно произвольным причинам и что им необходимо проверить возвращаемое значение. Если вам нужно, чтобы это сработало, сбросьте исключение и дайте ему распространиться туда, куда вы можете грациозно выйти.