Yor script will perform the except statements after it encounters an error, that is how do / except works in SilkTest.
If the error is expected behaviour, as seems to be the case here then you should be able to do your checking and continue normally without using do / except. I may be wrong but your example is pretty vague.
The shortest distance between two points is under construction.
[ ] Line1
[ ] AAA:
[ ] Line2
[ ] // You can add in a few tweaks here to get the focus on that unpredictable pop-up
[ ] Dynamo.Close()
[ ] goto AAA
[ ] Line3
[ ] except