![]() |
#1 |
Участник
|
mfp: X++, the catch
Источник: https://blogs.msdn.microsoft.com/mfp...4/x-the-catch/
============== “When building a cannon, make sure the cannon ball comes out in the right direction.” This is a piece of advice I heard many years ago. I think, we in generally have been following the advice in the Dynamics AX platform group. The APIs and designs have been easy to understand, and without side-effects. This... ============== Источник: https://blogs.msdn.microsoft.com/mfp...4/x-the-catch/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
![]() |
#2 |
Участник
|
![]() получается можно частично исполнять код между ttsbegin - ttscommit. Возникает вопрос - как вообще находить такие вещи? |
|
![]() |
#3 |
Участник
|
О!
Радует что Майкл и Иван (Kashperuk Ivan: Tutorial Link: Handling exceptions the right way in X++) озаботились этим вопросом. А мы про это уже писали ранее Развалились InventSum - InventTrans В упомянутых ссылках в комментариях есть примеры регулярных врыажений при помощи которых искали такие примеры. К счастью, их немного. Последний раз редактировалось Logger; 25.11.2016 в 11:52. |
|
|
За это сообщение автора поблагодарили: trud (3). |
![]() |
#4 |
Участник
|
Вот же...
Просто порушили все основы. Старые версии Аксапты себе такого не позволяли...
__________________
Ален ноби, ностра алис. Что означает - если один человек построил, другой завсегда разобрать может. |
|
![]() |
#5 |
Участник
|
Да в том то и дело, что находить тяжело.
В последнее время мы наблюдали различные баги в новом складском модуле, которые ну просто не могли произойти, смотря на код. Копаясь, наткнулись на такое поведение - об этом собственно и блог пост - чтоб заранее предупредить, возможно даже поискать в своем существующем коде такие места, и запомнить, чтобы не делать таких ошибок в будущем |
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#6 |
Участник
|
Цитата:
Возможно раньше он реже проявлялся. Не из-за того ли что теперь чаще бывает исключение конфликта обновления записи в новом WHS модуле ? Может проанализировать частоту возникновения таких исключений ? |
|
![]() |
#7 |
Участник
|
Цитата:
Ссылочку себе добавил в ТУДУ, в понедельник посмотрим |
|
![]() |
#8 |
Участник
|
Цитата:
The X++ compiler now generates code that is slightly different for try catch blocks. Before, the system would catch the DuplicateKey and UpdateConflict exceptions as part of the catch all clause. This introduced some problems that could ultimately lead to data consistency problems if the try catch was used when a transaction is running. Now, the two exceptions mentioned, which are special because they do not roll back a running transaction, are no longer caught in the catch all. For more information, see the blog post X++, the catch.
![]() |
|
|
За это сообщение автора поблагодарили: Logger (1), AlGol (1), alex55 (3). |
![]() |
#9 |
Участник
|
починили где? в ax2012 или d365fo?
|
|
![]() |
#10 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#11 |
Участник
|
А как же 2012-я?
|
|
![]() |
#12 |
Участник
|
Цитата:
Сообщение от skuull
![]() The X++ compiler now generates code that is slightly different for try catch blocks. Before, the system would catch the DuplicateKey and UpdateConflict exceptions as part of the catch all clause. This introduced some problems that could ultimately lead to data consistency problems if the try catch was used when a transaction is running. Now, the two exceptions mentioned, which are special because they do not roll back a running transaction, are no longer caught in the catch all. For more information, see the blog post X++, the catch.
Если в 12-й не исправят, то хотя Best Practice проверку привинтить что ли. |
|
Теги |
exception, mfp, occ, try/catch, x++, xpp, баг, исключения |
|
|