1. Исключения
try except
.
2.
Логирование.
3. Если нет возможности подробно описывать ошибки в самом скрипте, то пишите коды ошибок, а на стороннем ресурсе (едином для всех) описывайте, что означают эти коды.
Т.к. в реальном мире все возможные варианты не предусмотреть, то предлагаю использовать 3 вариант + предложение отправить ошибку в поддержку за вознаграждение, в итоге поимеем:
- Относительно недорого тестера.
- Относительно довольного пользователя (получил какой то бонус + ткнул носом целого разраба).