Как вы обрабатываете исключения баз данных в своем приложении?
Вы пытаетесь проверить данные перед передачей их в БД или просто полагаетесь на логику проверки схемы БД?
Вы пытаетесь восстановить какие-то ошибки БД (например, таймауты)?
Вот несколько подходов:
- Проверять данные перед передачей их в DB
- Левая проверка правильности DB и правильная обработка исключений DB
- Подтвердить с обеих сторон
- Подтвердить некоторые очевидные ограничения в бизнес-логике и оставить сложную проверку в DB
Какой подход вы используете? Почему?
Обновления:
Я рад видеть растущее обсуждение.
Давайте попробуем подытожить ответы сообщества.
Предложения:
- Подтвердить с обеих сторон
- Проверьте ограничения бизнес-логики на клиентская сторона, пусть DB выполняет проверки целостности от hamishmcn
- Проверьте ранний период, чтобы не беспокоить DB из ajmastrean
- Проверить раннее улучшение пользовательского опыта от Will
- Сохраняйте код взаимодействия с БД на месте упростить разработку от hamishmcn
- Объектно-реляционное сопоставление (NHibernate, Linq и т.д.) может помочь вам справиться с ограничениями из ajmastrean
- Валидация на стороне клиента необходима по соображениям безопасности от Seb Nilsson
У вас есть что сказать? Это преобразуется в конкретный вопрос проверки. Нам не хватает ядро, т.е. "Рекомендации по ошибкам, связанным с базой данных", какие из них обрабатывать, а какие - Bubble?