Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка ошибок 
V
    Опции темы
ДобренькийПапаша
Дата 28.7.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Флёнов в своей книге по T-SQL пишет: "Если вы потратите немного времени и реализуете обработку ошибок после каждого обновления, так что в случае возникновения проблемы будет выведено более понятное сообщение о запросе, который не смог выполниться, то вы сбережёте свои нервы во время сопровождения программы.
Далее он приводит такой код:
Код

CREATE PROCEDURE MyProc
@name VARCHAR(50)
AS
BEGIN TRANSACTION SomeTran
INSERT INTO Some_Table
VALUES (@name)

IF @@ERROR<>0
    BEGIN
        PRINT 'Insertion error of ' +  @name
        ROLLBACK TRANSACTION SomeTran
    END
ELSE
    COMMIT TRANSACTION SomeTran


Вопрос №1: Это действительно хорошая практика обработки ошибок??
Вопрос №2: А как Вы обрабатываете ошибки? Как организуете обработку - на сервере или на клиенте? И каким способом?



--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
VirusUZ
  Дата 28.7.2010, 14:51 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



CREATE PROCEDURE MyProc
@name VARCHAR(50)
AS

INSERT INTO Some_Table
VALUES (@name)

IF @@ERROR<>0

        PRINT 'Insertion error of ' +  @name

go
--------------------
Virus
PM MAIL   Вверх
ДобренькийПапаша
Дата 28.7.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Это вы о чём и к чему? Что вы имели ввиду таким кодом?)))


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
ДобренькийПапаша
Дата 24.10.2010, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Так и не получил ответа, а я ведь жду smile


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
Zloxa
Дата 24.10.2010, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



В данном примере действительно испльзование явной транзакции не обосновано. Insert и без того откатится.
А отсутствие механизма обработки исключений в T-SQL, действительно вынуждает проверять статус каждой операции.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.