|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Да, но ТС нужно обеспечить стабильность кода на
"непонятно каких, возможно - испорченных" файлах. Поэтому и нужны эти странные проверки. В моих кодах такие проверки - штатная ситуация. Обожаю, когда удаётся отловить подобный глюк. :-) Зато всё и работает, как часики...
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Цитата:
--- Наврал. Сработало что-то из автозагружаемого (не тот профиль запустил). При чистом ACAD2021 ошибки обнаруживаются.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. Последний раз редактировалось Кулик Алексей aka kpblc, 14.02.2024 в 15:25. |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
А nanoCAD 23.1 на первом же блоке ругнулся:
Команда: 22 22 - 22 0 "\n00000" #<Имя примитива: 000002607A358EE0> ((-1 . #<Имя примитива: 000002607A358EE0>) (0 . "INSERT") (5 . "16319B") (330 . #<Имя примитива: 000002607A3515A0>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (48 . 100.0) (370 . 20) (100 . "AcDbBlockReference") (2 . "") (10 395714.0 -1.50688e+006 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 1) (71 . 1) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0)) #<VLA-OBJECT IAcadBlockReference 0000026037243980> "\n11111" Отладочный режим: Сервер ActiveX (TeighaX) вернул ошибку: Null object Id: <object> (0) Но здесь надо смотреть, как там (vla-get-effectivename ... ) работает - не проверял ещё.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Как вариант, мне на НК проверять лениво:
Код:
----- добавлено через ~2 мин. ----- Вариантов можно накидать тьму. Вот еще один: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
боюсь спросить что за НК
![]() я нанокаду даж не доверяю, половина команд не отрабатывает (даж простая ssget, специфичная)... Насчет проверки, я писал - "после проверки и испавления самим автокадом отрабатыла" Цитата:
![]() - такие случае и интересны, что неизвестно где выстрелит ____________________________________ Спасибо всем. п.с если время на выходных будет, попробую покопаться - если что отпишусь.... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Offtop: НК = НаноКад
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Спасибо,
посмотрел для интереса ID=2249273019232 и handle=19A3D6, думал что то интересное будет, остается: 1) запускать проверку автокада, перед кодом 2) или vl-catch-all-error перед этой строкой вот и думаю, что лучше ![]() |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
На мой взгляд, лучше - при обнаружении подобной ситуации (нашли "nil")
уйти в аудит, после аудита снова сделать проверку. Если всё ОК - продолжить код, если нет - дать пользователю информационное сообщение.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Цитата:
1) единственное нил-а нету, а на ошибку vl-catch-all-error 2) организовывать отдельно проверку кодом, как то тож не совсем красиво => наверное после окончания всех операций (данной) проинформировать пользователя, что были ошибки и попросить провести проверку и исправления (аудит) автокадом и при необходимости повторить программу п.с еще несколько интересных свойств сбойного объекта: vlax-read-enabled-p=T (читается) vlax-object-released-p=nil (не освобожден) vlax-typeinfo-available-p=T (присутствует в используемой библиотеке типов) vlax-dump-object = на данном объекте схлопывается автокад(закрывает), начинает читать и схлопывается |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
которая возвратит "nil", наличие которого нужно проверить. Т.е.: (if (entget list_block) (всё хорошо) (уходим в аудит) )
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Я обычно /если есть такая возможность/ стараюсь вообще
в обработку ошибок не входить, т.к. предполагаю, что в дальнейшем этот "кусок кода" будет использован в пакетной обработке файлов. А там нужен "полный автомат" с логированием в отдельный файл наиболее интересных событий. И да - вьюер с этим файлом открывается пред светлые очи пользователя по завершению работы.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
===AAA===, с какого перепугу обработчик ошибок и ObjectDBX не совсем дружат?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616
|
Цитата:
Речь о том, что я придерживаюсь стиля написания кода "если есть возможность не выходить в обработчик ошибок, то лучше туда не выходить". Понять, что случилось и обработать ситуацию самому. Наверное, это "устаревший стиль", но - как есть. И - таки да - не всегда оное получается и приходится использовать (vl-catch-all-error-p ...). Но не часто. :-)
__________________
Счастливо, Алексей! |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему возникает ошибка "Нет объекта опирающегося на сваю"? САПФИР 2021. | OSPV | Лира / Лира-САПР | 3 | 03.02.2022 08:14 |
Текущий ремонт, капитальный ремонт, техническое обслуживание. Через сколько лет наступает после сдачи объекта? | Red_line | Архитектура | 12 | 12.09.2018 14:52 |
При выделении объекта в Автокаде стала выпадать ошибка см. скриншот | dextron3 | AutoCAD | 3 | 27.01.2013 15:53 |
Ошибка при удлинении объекта | r0nan | AutoCAD | 2 | 18.09.2010 21:51 |
Получение разрешения на строительство объекта капитального строительства | maxummm | Прочее. Архитектура и строительство | 18 | 25.08.2010 20:31 |