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