|
![]() |
#1 |
Administrator
|
Уважаемый mfp умалчивает об одном важном отличии Debug::assert() от throw error(). В случае, если условие в Debug::assert() не выполняется, программа продолжает работать дальше. То есть, пользователи видят ошибку, если есть дебаггер, то он запускается, но при этом выполнение кода продолжается как ни в чём не бывало.
Не самая приятная особенность, если честно. Ведь в большинстве случаев assert() появляется не просто так, а для обозначения того, что нижеследующий код при невыполнении некоторых условий может работать некорректно. Логично было бы в такой ситуации код не выполнять, по-моему.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#2 |
Участник
|
Цитата:
Ловить тикие ошибки - удовольствие то еще....
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 Последний раз редактировалось Alex_KD; 03.07.2014 в 07:59. |
|
![]() |
#3 |
Administrator
|
Если Debug::assert() вызвать в CIL, то выполнение не останавливается (хотя Enable global breakpoints у меня не активировано; возможно, дело в этом). В Infolog вываливается ошибка, но выполнение продолжается со следующей строчки.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
|