PPA>Loaded cached pre-compiled headers. PPA>Assertion failed .\XXXXXXXXXXFrame.cpp(104) : right->exprTopType != T_VOID || x->exprTopType == T_VOID || ErrorMessageCount at d:\helena\bcc\indep\xfold.c(2126) PPA>*.exe
Во первых — ну и что
Во вторых — может это просто на билд сервере такой логин? У нас ВПН гейты в конторе любят называть женскими именами. Natasha например
Как много веселых ребят, и все делают велосипед...
PPA>>Loaded cached pre-compiled headers. PPA>>Assertion failed .\XXXXXXXXXXFrame.cpp(104) : right->exprTopType != T_VOID || x->exprTopType == T_VOID || ErrorMessageCount at d:\helena\bcc\indep\xfold.c(2126) PPA>>*.exe
_U_>Борланд. Багланд. Что делает assert в retail-билде компилятора?
А что такого? Может вы у себя еще и отладочную инфу отключаете в релизе? По вашему компилятор пусть лучше соберет глючный бинарник, но сам не свалится? Расширяя рассуждения за пределы компиляторов — пусть лучше банковский софт успешно проведет транзакцию после деления на ноль, но не выдаст ошибку клиенту?
Как много веселых ребят, и все делают велосипед...
дравствуйте, Helena.Kandinsky, Вы писали:
HK>could you please provide me a sample to reproduce the problem? my email is helena.kandinsky@borland.com
HK>thank you!
Здравствуйте, ononim, Вы писали:
_U_>>Борланд. Багланд. Что делает assert в retail-билде компилятора?
O>А что такого? Может вы у себя еще и отладочную инфу отключаете в релизе? По вашему компилятор пусть лучше соберет глючный бинарник, но сам не свалится? Расширяя рассуждения за пределы компиляторов — пусть лучше банковский софт успешно проведет транзакцию после деления на ноль, но не выдаст ошибку клиенту?
От, блин. А я-то ломаю голову, как лучше сделать обработку ошибок в проекте. А, оказывается, все просто — оставляем в релизе ассерты, и всех делов!
Файл не найден — ассерт фейлед! Памяти не хватило — ассерт фейлед! Не можем установить TCP соединение — ассерт фейлед! Вот красота-то!
O>>А что такого? Может вы у себя еще и отладочную инфу отключаете в релизе? По вашему компилятор пусть лучше соберет глючный бинарник, но сам не свалится? Расширяя рассуждения за пределы компиляторов — пусть лучше банковский софт успешно проведет транзакцию после деления на ноль, но не выдаст ошибку клиенту?
_U_>От, блин. А я-то ломаю голову, как лучше сделать обработку ошибок в проекте. А, оказывается, все просто — оставляем в релизе ассерты, и всех делов! _U_>Файл не найден — ассерт фейлед! Памяти не хватило — ассерт фейлед! Не можем установить TCP соединение — ассерт фейлед! Вот красота-то!
Единственное что может сделать компилятор если у него чтото не получилось — прекратить дальнейшую компиляцию и сказать об этом пользователю (то есть программисту).
В случае прикладного приложения могут быть другие варианты обработки ошибки, без прекращения работы всего приложения. Хотя обычно неустранимые ошибки все равно показывают пользователю в том или ином виде. Окошко с заголовком Assertion failed это ведь лишь один из способов сказать пользователю об ошибке, вполне приемлемый для компилятора, учитывая того кто является его пользователем.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, Helena.Kandinsky, Вы писали:
HK>Здравствуйте, PPA, Вы писали:
PPA>>Loaded cached pre-compiled headers. PPA>>Assertion failed .\XXXXXXXXXXFrame.cpp(104) : right->exprTopType != T_VOID || x->exprTopType == T_VOID || ErrorMessageCount at d:\helena\bcc\indep\xfold.c(2126) PPA>>*.exe
HK>could you please provide me a sample to reproduce the problem? my email is helena.kandinsky@borland.com
HK>thank you!
Зачетно прикололся
p.s.
баг в компиляторе пофиксил очень просто:
@@ -101,7 +101,8 @@
int i=0;
FOR_DSET(vDSet)
vDSet->Edit();
— vDSet->F_FOR_ORDER->AsInteger = ++i;
+ i++;
+ vDSet->F_FOR_ORDER->AsInteger = i;
SafePost(vDSet);
ENDFOR_DSET(vDSet)
модератор грохните пост. я все осознал и мне стыдно!
уже 13 минусов хапнул
Здравствуйте, _Ursus_, Вы писали:
_U_>От, блин. А я-то ломаю голову, как лучше сделать обработку ошибок в проекте. А, оказывается, все просто — оставляем в релизе ассерты, и всех делов! _U_>Файл не найден — ассерт фейлед! Памяти не хватило — ассерт фейлед! Не можем установить TCP соединение — ассерт фейлед! Вот красота-то!
Для всего что здесь написано используются или исключения или коды ошибок. Ассерты здесь вообще не к месту.