SASGIS - SACS.Планета
View Issue Details
0001338SACS.ПланетаРефакторингpublic17-06-2012 11:4628-02-2014 10:52
zed 
vasketsov 
normalminoralways
closedfixed 
WindowsXPSP3
 
130803 
0001338: Исключения в конструкторах TGeoCoderByTXT и TGeoCoderByPolishMap
При запуске SAS под отладчиком, вываливаются два исключения:

First chance exception at $7C812AFB. Exception class EDirNotExist with message 'not found .\userdata\mp\! skip GeoCoderByPolishMap'. Process SASPlanet.exe (2852)
First chance exception at $7C812AFB. Exception class EDirNotExist with message 'not found .\userdata\txt\! skip GeoCoderByTXT'. Process SASPlanet.exe (2852)

нужно эту ситуацию разрулить более красиво.
No tags attached.
Issue History
17-06-2012 11:46zedNew Issue
17-06-2012 11:46zedDescription Updatedbug_revision_view_page.php?rev_id=3667#r3667
17-06-2012 12:58vdemidovNote Added: 0007420
17-06-2012 13:37zedNote Added: 0007421
17-06-2012 13:45zedNote Added: 0007422
17-06-2012 13:55vdemidovNote Added: 0007423
17-06-2012 14:00vdemidovNote Edited: 0007423bug_revision_view_page.php?bugnote_id=7423#r3669
17-06-2012 14:12zedNote Added: 0007424
17-06-2012 14:23vdemidovNote Added: 0007425
17-06-2012 14:26zedNote Added: 0007426
17-06-2012 14:31vdemidovNote Added: 0007427
17-06-2012 14:44zedNote Added: 0007428
17-06-2012 14:59vdemidovNote Added: 0007429
17-06-2012 15:07zedNote Added: 0007430
17-06-2012 15:33vdemidovNote Added: 0007431
17-06-2012 17:56GarlNote Added: 0007433
17-06-2012 18:30vdemidovNote Added: 0007434
18-06-2012 04:23zedNote Added: 0007441
18-06-2012 05:00GarlNote Added: 0007443
18-06-2012 09:45zedNote Added: 0007459
09-08-2012 06:56vdemidovProduct Version.Nightly => 120808
29-12-2012 11:34vdemidovStatusnew => confirmed
29-12-2012 11:34vdemidovTarget Version => 20xxxx
14-02-2013 19:37vasketsovAssigned To => vasketsov
14-02-2013 19:37vasketsovStatusconfirmed => assigned
14-02-2013 19:37vasketsovProjectSAS.Планета => SACS.Планета
14-02-2013 19:42vasketsovStatusassigned => resolved
14-02-2013 19:42vasketsovResolutionopen => fixed
09-08-2013 15:02vasketsovFixed in Version => 130803
09-08-2013 15:13vasketsovStatusresolved => closed

Notes
(0007420)
vdemidov   
17-06-2012 12:58   
ИМХО вполне нормально. Отметь эти ексепшены один раз как игнорируемые и забудь о них.
(0007421)
zed   
17-06-2012 13:37   
Вопрос - для кого эти исключения. Для разработчика, который сидит за отладчиком или для пользователя? По-моему, Garl хотел, чтобы их увидел именно пользователь.
(0007422)
zed   
17-06-2012 13:45   
По-моему, создавать геокодер нужно вне зависимости от наличия какой-то там папки. А вот ошибку отдавать (и показывать пользователю, естественно) надо только тогда, когда пользователь пытается что-то искать этим геокодерем и не предоставил для этого никаких данных (и нужно подробно расписать в сообщении с ошибкой, где, собственно, эти данные можно взять и куда покласть).
(0007423)
vdemidov   
17-06-2012 13:55   
(edited on: 17-06-2012 14:00)
Нет. Он хотел, что бы если данных нету, не захламлялся список геокодеров.
PS: Перед этим он вообще вставил проверку наличия этих папок в u_GeoCoderListSimple, а я ему сказал, что бы запихнул проверки в сами геокодеры и кидать ексепшены.

(0007424)
zed   
17-06-2012 14:12   
>не захламлялся список геокодеров
Добавить геокодерам свойство Enabled и пихать в список только разрешённые кодеры.

Если эти геокодеры не создавать и тихо помирать, то пользователи, не читающие доки (а это, процентов 90 от общего числа), так и не узнают, что оказывается есть ещё и оффлайн поиск.
(0007425)
vdemidov   
17-06-2012 14:23   
>Добавить геокодерам свойство Enabled и пихать в список только разрешённые кодеры.
Добавляй.
(0007426)
zed   
17-06-2012 14:26   
>Добавляй.
Ответственный пускай добавит. Или перенесёт эксепшен в .DoSearch.
(0007427)
vdemidov   
17-06-2012 14:31   
Я против. Мне нерабочие геокодеры в списке не нужны.
(0007428)
zed   
17-06-2012 14:44   
Он рабочий, но с условием. Так же, как и склейка в jpeg/png/ecw, так же как и кэши Беркли/GE/GC. Тут условие - наличие папки с данными, там - наличие dll.
(0007429)
vdemidov   
17-06-2012 14:59   
Ну так и склейки не должны маячить если нет нужной dll. И кэши Беркли, GE и тд не должны отсвечивать если не могут функционировать.
(0007430)
zed   
17-06-2012 15:07   
Я к тому, что получается разрыв шаблона: в одном месте сделано так, что и при отсутствии dll пункты маячат, а в другом (геокодеры) - пункты не маячат. А разрыв шаблонов - нехорошо.
(0007431)
vdemidov   
17-06-2012 15:33   
Если во многих местах сделано хреново, это не повод делать хреново везде.
(0007433)
Garl   
17-06-2012 17:56   
таки как лучше сделать?
а в wiki я на неделе постараюсь осветить этот пункт.
(0007434)
vdemidov   
17-06-2012 18:30   
Я за сохранение текущего состояния.
(0007441)
zed   
18-06-2012 04:23   
>таки как лучше сделать?
Сделай пропертю Enabled и используй её вместо исключения.
(0007443)
Garl   
18-06-2012 05:00   
тогда получается по ошибке - дисейблить геокодер и не маячить ексепшионами ?
(0007459)
zed   
18-06-2012 09:45   
Да.