Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Странная обработка ошибки / 5 сообщений из 5, страница 1 из 1
21.06.2016, 16:21
    #39259773
DenLaDenPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная обработка ошибки
Доброго времени суток!

Распознаю файл от оборудования. Очень редко, иногда может придти обрывистая строка и в одну из колонок, в данном случае TimeStamp, приходит вместо '21.06.2016-11:07:49' в виде - '21.06'.

Код: plsql
1.
2.
3.
4.
Select ...
	Split_part(Trim("Text_Collum"),';', 4)::timestamp as agent_time,
	...
From и т.д.



В случае прерывистой строки смотрю на ошибку
postgresОШИБКА: неверный синтаксис для типа timestamp: "21.06"
SQL-состояние: 22007


Лезу в базу ошибок и пишу обработчик
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
       Begin
            Insert into <Таблица трафика>
            Select ...
	        Split_part(Trim("Text_Collum"),';', 4)::timestamp as agent_time,
	        ...
            From ... ;
	EXCEPTION	WHEN 	SQLSTATE '22007' --(пробовал и - invalid_datetime_format)
			THEN ...;						
	END;



Но, ошибка не исчезает. Не понимаю, почему не подхватывается событие. Вроде, все сделано, согласно мануалу (39.6.6. Trapping Errors). Или я может пропустил что-то в блоке обработчика.
...
Рейтинг: 0 / 0
21.06.2016, 16:46
    #39259781
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная обработка ошибки
DenLaDenPro,

странный способ описания проблемы.
и странный дон педро, его применивший.


телепаты отпуске зпт хрустальные шары запотели тчк ждёмс
...
Рейтинг: 0 / 0
21.06.2016, 18:12
    #39259843
DenLaDenPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная обработка ошибки
qwwqDenLaDenPro,

странный способ описания проблемы.
и странный дон педро, его применивший.


телепаты отпуске зпт хрустальные шары запотели тчк ждёмс
Эм. А что я не указал?

Есть ошибка в Insert - select при конвертировании text в timestamp. Если фаил пришёл полный, то всё ок, если с обрывистой строкой, то возникает ошибка неверного формата даты для timestamp.
Для ошибки вставил EXCEPTION, но он не обрабатывает ошибку, привел листинг блока с EXCEPTION.

Собственно, не могу понять, почему ошибка всё еще появляется. Даже при использовании универсального ... EXCEPTION WHEN OTHERS THEN ...
...
Рейтинг: 0 / 0
21.06.2016, 19:04
    #39259875
DenLaDenPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная обработка ошибки
Собственно мне кажется, что вместо SQLSTATE '22007' или invalid_datetime_format должно быть какое-то другое событие, но тогда почему игнорится событие others? Может кто сталкивался.
...
Рейтинг: 0 / 0
21.06.2016, 23:01
    #39259987
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная обработка ошибки
DenLaDenProСобственно мне кажется, что вместо SQLSTATE '22007' или invalid_datetime_format должно быть какое-то другое событие, но тогда почему игнорится событие others? Может кто сталкивался.

Если у вас ошибка не ловится exception блоком то вероятнее всего у вас ошибка происходит где то в другом месте где вы исключение не ловите.
Не видя всего кода - только вы сможете понять где именно.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Странная обработка ошибки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]