Рекомендации по обработке исключений sql в приложении dot net - PullRequest
0 голосов
/ 31 мая 2011

считают, что в приложении asp.net 3.5 есть n-уровневая архитектура с языком c # и базой данных на сервере sql 2008.

Предположим, мы назвали хранимую процедуру существующей в базе данных на нашем уровне доступа к данным. Но при выполнении хранимой процедуры она получает исключение. (что может облегчить выброс в хранимой процедуре), тогда как приложение знает, что именно является исключением?

Есть ли у ADO.NET возможность понимать и представлять выданные исключения сервером sql sql. Я знаю, что есть пространство имен SQLException, предоставляемое модулем обработки исключений CLR. но, по моему опыту, этот модуль не может представлять исключения проверки, как это встречается в SQL Server. Может кто-нибудь исправить меня и правильно руководить обработкой исключений сервера sql из приложения dot net? и как мы можем справиться с ними? мы должны ждать выполнения / достижения в блоке catch всегда на уровне доступа к данным?

Может быть, этот вопрос повторяется, но я хочу поделиться своим опытом.

1 Ответ

1 голос
/ 31 мая 2011

Вы должны проверять и / или дезинфицировать все данные, которые были введены до того, как они достигли базы данных, поэтому, если БД не присутствует или есть ошибка в SP, вы не должны получать исключения SQL.

Исходя из моего опыта, вы могли бы записать исключение SQL в журнал, обернуть его в ApplicationException и вернуть в пользовательский интерфейс ошибку, удобную для пользователя.

...